Какво е Load Balancer?
Коментирано от Включен 20 November 2015 08:24
|
|
В тази статия ще ви запознаем с Load Balancer и видовете разпределения на натоварването. Load Balancer в буквален превод означава разпределител на натоварването. Най-често се използват два вида разпределения – на ниво TCP/IP (Layer 4 от OSI модела) и на ниво приложение (Layer 7 от OSI модела). Балансиране на натоварването се налага, когато в развитието на даден уеб сайт се достига до момент, в който един сървър не е достатъчен за натоварването, което генерира самият сайт. Тогава даденият уеб сайт се разполага на поне два сървъра, като натоварването се разпределя между тях. 1. Round Robin Най-простият вид Load Balancer е задаването на два или повече A записа за домейн. По този начин може сайтът Ви да се зарежда от два различни сървъра, като ролята на Load Balancer играе DNS сървъра. Този тип разпределяне на натоварването се нарича Round Robin. Как да създадем Round Robin Load balancer: Всеки един домейн има основен A запис (преобразувател domain.com -> IP адрес) от тип: domain.com <TTL (време за кеширане на информацията) в секунди> A <IP адрес> Примерен запис: icn.bg. 120 IN A 91.215.218.14 За да създадем Round Robin Load balancer, ни трябва втори сървър съдържащ същото съдържание като на основния, но с друго публично IP. Пример: 91.215.218.15. След което създаваме втори A запис, за домейна, но с другия IP адрес. Пример: icn.bg. 120 IN A 91.215.218.15 По този начин за домейна ще отговаря не едно IP, както при повечето сайтове, а два или повече. Съответно при проверка за DNS записите, ще ни излиза следния резултат: icn.bg. 120 IN A 91.215.218.14 Това е напълно достатъчно, за да имаме елементарно разпределяне на натоварването между два или повече сървъра. Кога се използва най-често? - Когато не искаме да влагаме допълнително пари в хардуер; В Linux терминал изпълняваме командата dig (или nslookup в Command prompt при Windows). Получаваме следната информация:
- Ако единият сървър спре работа поради някаква причина, ние не можем да спрем трафика към него. Това се дължи на времето за кеширане. В случая, ако сървър с IP адрес 66.135.216.190 откаже, то сайта няма да ни се зарежда в рамките на 60 минути, докато информацията се опресни, независимо че сайтът работи на други сървъри. На картинката по-долу е показан принцип Round Robin. Показани са два сървъра Web Server 1 и Web Server 2 с разпределено натоварване посредством два A записа в DNS сървъра. Когато Web Server 1 не работи, то на клиенти Client 1 и Client 2 сайтът не се отваря, тъй като те се опитват да се свържат именно с него. Сайтът се отваря на Client 3, тъй като той зарежда сайта от Web Server 2, който е работещ. Както става ясно от показания пример, Round Robin не е много удачен за важни сайтове, тъй като при спиране на работата на сървър, то това довежда до загуба на трафик и потенциални клиенти, които не успяват да заредят самия уеб сайт. Ние нямаме свободата да пренасочим трафика към друг работещ сървър, тъй като в компютъра на клиента е кеширана информацията за IP адреса на неработещия сървър. 2. Хардуерен клъстър
| |
|