Rafał Z.

Rafał Z. IT Support Engineer

Temat: Freebsd + Load Balancing dla apache i mysql

No wlasnie co byście polecali do spiecia takiego wlasnie systemu, ze tak powiem niedozajezdzenia. Ma to tez byc latwo skalowalne (nawet bardzo latwe - w przeciagu kilku godzin dostawienie kolejnej maszyny).

Z gory dziekuje za odpowiedz i zainteresowanie tematem.
Piotr Florczyk

Piotr Florczyk Senior system and
network
administrator,
Gemius Polska Sp...

Temat: Freebsd + Load Balancing dla apache i mysql

Rozwiazan jest kilka...
1. CARP
Najwieksza wada to chyba brak mozliwosci regulowania obciazenia lecacego na poszczegolne maszyny i nierownomierny rozklad zapytan (przy dwoch maszynach podzial mniej wiecej wygladal 70/30).
2. PF (transparentnie na bridge)
Tutaj jest juz troche lepiej, ale to nadal nie to (brak detekcji padnietych uslug)
3. varnish
4. pen, pound, haproxy
Pound pod FreeBSD mozesz odrazu skreslic. Pen nie jest jakos aktywnie rozwijany. Varnish to niezla kobyla, ale caly potencjal wyciagniesz dopiero przy bliskiej wspolpracy z programistami i nie jest to czysty load balancer (a tego chyba szukasz ?).
I varnish i haproxy maja wsparcie dla kqueue wiec wydajnosciowo nie powinno byc problemow (varnish zostal napisany przez jednego z developerow jadra Freebsd...).

Osobiscie proponuje duet (chyba standardowy): apache(+mod_rpaf)+ haproxy.

Jezeli idzie o mysql to zostaje Ci chyba tylko replikacja (i to tez jak pogonisz programistow). mysql-proxy produkcyjnie bym nie odpalal.

EDIT: literowkaPiotr Florczyk edytował(a) ten post dnia 19.07.09 o godzinie 02:43
Jacek Kotlarski

Jacek Kotlarski Administrator sieci
i systemów

Temat: Freebsd + Load Balancing dla apache i mysql

PF nie koniecznie na bridge bo i po co?
Detekcję padniętych usług w prosty sposób można oskryptować wykorzystując mechanizm tablic.Jacek Kotlarski edytował(a) ten post dnia 12.08.09 o godzinie 16:45

konto usunięte

Temat: Freebsd + Load Balancing dla apache i mysql

Co jeśli padnie haproxy? :)

Polecam taką konfigurację:

2 * haproxy + wackamole ( loadbalancing za pomocą dns-a)
X * apache (lighttpd)
2 * mysql + wackamole ( loadbalancing za pomocą dns-a)

Baz łatwo nie rozbudujesz bez współpracy z programistami. Na stronie mysql-a jest kilka schematów jak zbudować klaster.

Carp jest fajny, ale nie do loadbalancingu. Posiada on tylko jedną metodę, tj. hashowanie po ip. Czyli jak duży lan wychodzi przez jedno ip to wszystkie połączenia trafią na jedno ip.
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: Freebsd + Load Balancing dla apache i mysql

Właśnie CARP ma zapobiec padnięciu haproxy. Wystawiasz sobie dwa haproxy, jedno czeka w pogotowiu na wypadek awarii pierwszego :)

konto usunięte

Temat: Freebsd + Load Balancing dla apache i mysql

Adrian Czerniak:
Właśnie CARP ma zapobiec padnięciu haproxy. Wystawiasz sobie dwa haproxy, jedno czeka w pogotowiu na wypadek awarii pierwszego :)

Tak, działało by to dobrze jako master-backup, a nie load balancing.
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: Freebsd + Load Balancing dla apache i mysql

Load balancing jest na x serwerach http, na które rozrzuca failoverowany haproxy.

konto usunięte

Temat: Freebsd + Load Balancing dla apache i mysql

Adrian Czerniak:
Load balancing jest na x serwerach http, na które rozrzuca failoverowany haproxy.

Po to kierujesz ruch na dwa haproxy, aby nie było takiej sytuacji że po padzie pierwszego haproxy, drugie haproxy zachowuje się dziwnie, albo brakuje w niej konfiguracji.
Adrian Czerniak

Adrian Czerniak Administrator
Systemów Uniksowych

Temat: Freebsd + Load Balancing dla apache i mysql

Ale dlaczego miałoby mieć brakującą konfigurację? Przecież są narzędzia do dystrybucji konfiguracji, a w tak mało wymagającym wypadku jak ten nawet git czy SVN wystarczy.

Następna dyskusja:

FreeBSD + RADIX




Wyślij zaproszenie do