ПредишенСледващото

Един от тях е за безопасност: как да създадете срив клъстер

Това често се случва, че след стартирането на някои амбициозен уеб проект и нейното успешно PR в медиите Компанията очаква голям наплив от посетители. За съжаление, нашият свят не е съвършен и се случва така, че сайтът не може да се справи с потока от посетители, наречена нашите "habraeffektom" кръгове, и започва да се забавя. В съответствие с това дружеството е загуба на пари и репутация. В такива случаи, програмисти са склонни да зареже вината върху администратори и администраторите да програмисти. Това е един порочен кръг.

обучение


За да създадете срив клъстер, имаме нужда от: две коли N1 и N2 за GlassFish сървър (един от тях ще бъде инсталиран DAS сървър и 2 GF); Lb1 машина за балансиране на натоварването; машина за db1 база данни. Уверете се, че всички машини "виждат" един - друг (пинг).

конфигурация клъстер


конфигурация клъстер ще проведе предимно от помощната програма за команден ред, предоставена GlassFish asadmin

  1. Изтегляне на разпределението GlassFish
    Wget download.java.net/glassfish/3.1.1/release/glassfish-3.1.1.zip
    и да го разопаковате.
  2. Стартиране на инстанция на административна област (домейн 1):
    ./ Asadmin домейн1 стартиране домейн
    GlassFish подразбиране забранява отдалечените връзки с административен домейн. И всички касетъчни възли (възел агенти), с изключение на това място, върху която стои DAS, няма да могат да си взаимодействат с него.
    Типична грешка:
    Не може да се срещне с DAS на n1: 4848. Моля, проверете дали този сървър се изпълнява, че приемащата и пристанището са правилни и че този сървър е конфигуриран да се даде възможност за отдалечен достъп.
    За изпълнението на тази работа около:
    ./ Asadmin позволи-защитен-администратор
    и рестартирайте административна сфера.
    Създаване на самия клъстер:
    ./ Asadmin създаде клъстер С1.
    Създаване на две инстанции на сървъра на приложения се намират на същата физическа машина:
    ./ Asadmin създаде-местен инстанция --cluster в1 i1
    ./ Asadmin създаде-местен инстанция --cluster в1 i2
  3. Започнете клъстера:
    ./ Asadmin стартиране клъстер в1
  4. Добавяне на нови елементи, които са по п2 машина (екип физически vypolnyayutsya на n2):
    . / Asadmin -host n1 -port 4848 създадат-местен инстанция -cluster в1 i3
    ./ Asadmin -host n1 -port 4848 създадат-местен инстанция -cluster в1 i4
  5. В администраторската конзола, ние откриваме новосъздадената инстанция, промените типа на SSH, променете стойността на възела домакин поле, за да n2. В същото време, ние трябва да въведете потребителско име и парола за достъп през SSH към n2 машина. Започнете клъстера. Виждаме, че всички случаи, се изпълняват.
Балансиране на натоварването и HA


Сега почти всичко е готово да zadeploit приложение в клъстер, но това не е достатъчно за нас, защото Той не предвижда балансиране на натоварването и HA.
Ние трябва да се инсталира и конфигурира балансьор натоварване, така че потребителите да се чувстват удобно работно със заявлението:

  • достъпни само от един Urlu;
  • техните искания са равномерно разпределени между всички случаи на сървъра клъстер;
  • в случай на повреда на определен брой копия потребителите ще могат да продължат да работят с приложението в нормален режим;
  • и не е знаел за вътрешната "кухнята" на клъстера.


Като цяло, GlassFish "се състои от" балансиране приставка за "популярна" HTTP сървър. Думите "включва" и "популярен" не е напразно в кавички, защото този плъгин не се съдържа в Open Source версия на ГФ, освен това, с подкрепата на Oracle iPlanet уеб сървър, Oracle HTTP сървър, Apache HTTP сървър, Microsoft IIS. Ние всички знаем, че Apache някога е бил добър, но сега там са по-ефективни решения.
Сред кандидатите: Nginx, HAProxy, lighthttpd.
Подкрепа на местните производители и изберете Nginx. който е и все повече и повече, за да улови пазар.

  1. Задайте Nginx:
    #yum инсталирате Nginx
    #nano /etc/nginx/nginx.conf
  2. Конфигуриране на Nginx за балансиране искания кръгла Robbin до 4 сървъра равни тегла в поддържат фиксиран (лепкави) сесии (от следните е част от довереник и стартиране на сървъра).
    нагоре задния ip_hash;
    сървър 192.168.0.1:28080 max_fails = 5 fail_timeout = 15s;
    сървър 192.168.0.1:28081 max_fails = 5 fail_timeout = 5s;
    сървър 192.168.0.2:28082 max_fails = 5 fail_timeout = 5s;
    сървър 192.168.0.2:28083 max_fails = 5 fail_timeout = 5s;
    >
    Заслужава да се отбележи, че това е най-лесният конфигурация за фиксиране на потребителски сесии на конкретен сървър ip_hash метод
  3. За да спечелите HA изисква N1 и N2 домакин имат една и съща майка достояние. Например, cluster.com. За да направите това, вие трябва да промените файла / и т.н. / Домакините от двете машини, както следва:
    n1:
    127.0.0.1 Localhost
    127.0.1.1 n1.cluster.com
    127.0.0.1 n1.cluster.com
    192.168.0.2 n2.cluster.com
    N2:
    127.0.0.1 Localhost
    127.0.1.1 n2.cluster.com
    127.0.0.1 n2.cluster.com
    192.168.0.1 n1.cluster.com
  4. За да тествате мултикаст всяка физическа машина клъстер е:
    ./ Asadmin Проверка мултикаст
  5. В административна конзола DAS GlassFish трябва да се промени препратки към n2 n2.cluster.com
  6. За възпроизвеждане GlassFish на HTTP сесии между случаи на клъстера е необходимо дескриптора на уеб приложение, съдържащо съответните инструкции (таг ) И приложения инсталират deploe Avalaibility флаг.
Инсталиране и конфигуриране на база данни


В този пример ще използваме PostgreSQL.
Определете базата данни и да създадете нов потребител и база данни.
# Yum инсталирате PostgreSQL-8.4
# Service PostgreSQL initdb
# Старт PostgreSQL Service
В PostgreSQL по подразбиране, само местни връзки. За да поправите това, което трябва да се коригира конфигурационен файл /var/lib/pgsql/data/pg_hba.conf, в който трябва да се уточни разрешени подмрежи: домакин на всички всички 192.168.0.0/24 md5

Е, това е всичко! Сега, най-накрая, можете да deploit приложение (например, ние използваме jforum).

Аз, честно казано, просто не "варено мозъци", след като всички тези настройки. Имахме добър "пот", за да се автоматизира целия процес, описан по-горе в Jelastic и да го превърне в няколко прости кликвания на мишката.

Можете да опитате, които излязоха от нея, за jelastic.com

Нека да видим как повишена консумация на сървъри ресурси в конфигурация срив клъстер (с репликация сесия) на сървъра за случаите, които са налични в момента Jelastic.


Нека започнем с GlassFish. Този сървър има много предимства: пълна поддръжка на промишлени клъстери, широк набор от функции, множество модули, висока надеждност, административен панел и т.н. Ако можем да погледнем в следната таблица, тя може да изглежда, че по-скоро GlassFish "алчните", но това е напълно оправдано от неговата функционалност.

Един от тях е войник как да създадете срив клъстер

Забележка: Във всички таблици посочваме не само използването на паметта в MB, но също така и на количеството консумирана klaudlet. Klaudlety - начина, по който ние считаме, потреблението на ресурси. Един klaudlet - 128 MB RAM и ядро ​​на процесора 200 MHz.



Tomcat 6 - най-популярните сред нашия сървър разработчик, поради своята простота и стабилност. Оптималният избор за повечето уеб приложения. Колко ресурси той "яде" с всички възможни опции за конфигуриране, можете да видите в таблицата по-долу:

Tomcat 7 също има какво да се хвали: това е още по-продуктивни и ефективни от предшественика си. В съответствие с това той изисква малко по-скъпо:



Що се отнася до кея. След това сървърът на приложения е все по-популярни сред разработчиците (както нашите статистически данни показват). Той е и най-"Леки", вижте сами:

Както вече знаете, GlassFish - висока степен на надеждност Java EE сървър за приложения с пълна поддръжка на промишлени клъстери и широка гама от функции.
Доскоро се използва в GlassFish Jelastic Java PaaS просто като самостоятелен сървър, но сега ние подкрепяме всички характеристики на този сървър, включително и висока надеждност (HA).

Ние спаси "родния" GlassFish групиране архитектура, която се основава на концепцията за административен домейн. Административни области се състоят от клъстери и случаи, контрол, които се извършват чрез DAS (Domain администриране сървър).

Можете да управлявате централно хранилище, чрез администраторската конзола. Това е лесен за използване графичен интерфейс, който поддържа всички налични в GlassFish функции. DAS управлява Java домейн instanced и GMS (Group Service Management) е отговорен за предоставяне на информация за клъстера и неговите инстанции.

Сесия репликация в GlassFish



Случаи, в клъстери са разделени на двойки. Ако един от случаите, спадна, потребителите, заявки, които дръжки той автоматично се прехвърлят към друга инстанция в клъстера. "Съд-мат" вече има присъствие във всички сесии на загиналите, така че крайният потребител никога няма да забележите някакви промени. В случай на падане двата случая потребителят подаде заявка се пренасочват към друг клъстер. За да пренасочвате заявките Jelastic използва Nginx стабилизатор (какъвто е случаят с други сървъри за приложения).

мащабиране


Разбира се, не сме забравили за мащабиране. Тя осигурява хоризонтално и вертикално мащабиране от случаите се увеличи или намали натоварването на сървъра. Това означава, че можете да промените както на размера и броя на клъстери. Jelastic - първо PaaS, което дава такава съвършена система за мащабиране.

GlassFish клъстер архитектура в Jelastic много близо до стандарта, така че можете да използвате всичките му опции и дори малко повече.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!