DNS load balancing drupal környezetben

Fórumok

Adott a DNS load balancing, drupal weboldalra.

http://content.websitegear.com/article/load_balance_dns.htm

Kérdés, megkezdett drupal (php) session szétesik e, ha a DNS balancing miatt minden kérés más IP-re megy? Ha igen, a php (session stb.) és drupal könyvtárak egy helyről vétele (pl. samba) megoldja e a problémát?
Egyáltalán tudja e a DNS lb., hogy a megkezdett TCP sessionok honnan és milyen IP-re menjenek folyamatosan?

Tapasztalat?

Hozzászólások

A drupalnak saját session kezelő hívása van (lecseréli vele a gyárit) és SQL-ben tárolja a sessiont. Tehát ha egy adatbázis szerver van, akkor remekül megy majd a DNS round robin. Ilyet már többször állítottam be. :)

Szerk: A DNS lb. a kliens oldalon valósul meg igazából (persze a névszerver váltogatja az első rekordot) és ő dönti el, hogy melyik szerverre csatlakozik. A megkezdett TCP session nyilván nem fog másfelé menni, de az előfordulhat, hogy mondjuk ugyanaz a kliens a javascriptet innen, a css-t onnan és magát az oldalt megint innen szedi le. Ezért figyelni kell a naplózásra is, ha akartok belőle statisztikát készíteni.

Egyáltalán tudja e a DNS lb., hogy a megkezdett TCP sessionok honnan és milyen IP-re menjenek folyamatosan?

Az altalad linkelt cikk elso bekezdese nem pont erre a valaszt?

"Once the BIND feature of DNS resolves the domain to one of the servers, subsequent requests from the same client are sent to the same server. "

----------------------
"ONE OF THESE DAYS I'M GOING TO CUT YOU INTO LITTLE PIECES!!!$E$%#$#%^*^"

Sok esetben nem az auth DNS-t kérdezi le közvetlenül a kliens, mert van elötte par chache dns szerver, de a végén még a bongésző is becacheli az első lekérésnél a domainhez tartozó ip-t, és utána ahhoz az ip-hez fog menni közvetlenül..
Több webszervert samba-val kiszolgálni meg.., mondjuk ugy, valószínű vannak erre alkalmasabb megoldások is..

Több megoldás is van. Az egyiket az első hozzászólásban leírta a kolléga. A másik, hogy minden gépen csinálsz egy redirectet a saját szerverre (www1.tedomained.hu) és így elkerülöd a kellemetlen meglepetéseket. Természetesen alkalmazhatsz okos loadbalancert is, amit viszont ennél egy hajszállal bonyolultabb beállítani.

Nem vagyok profi a temaban, de samba lenne az utolso, amit ilyenre hasznalnek. Egy ms filmegosztasi rendszer linux-ra 'osszetakolt' kinlodasa egyszeruen nem erre valo. Nem derul ki, az egeszet miert is szeretned, milyen hw kornyezeted es koltsegvetesed van. Samba-nal linux/unix kornyezetben csomo kifinomultabb storage technologia van mind hw, mind sw szempontjabol. Legalapabb esetben nfs, mint samba.

Muhahahaahahaha.....
--
1 leszel vagy 0 élő vagy hulla!

Ha igen, a php (session stb.) és drupal könyvtárak egy helyről vétele (pl. samba) megoldja e a problémát?

Miért, ez az egész izé, ez milyen problémát is old meg? Kicsi a géped? Vegyél bele több diszket. Nem elég redundáns? Hát ettől csak csökkenni fog a rendelkezésre állás...

Ez az egész DNS round-robinos játék egészen pontosan nem jó semmire, ha a klienst úgy hívják, hogy web browser.

Y ip címen leall a szolgaltata,s de a böngésző először az y ip címre csatlakozott. Nem fogja újból feloldani a címet, hogy másik ip-t kapjon, még ha megtenné sincs garancia arra, hogy másik ip címet kap.

LVS vagy valami proxy kell elé, nem a dns-el maszatolni.

Remekül működik pedig. A kliensek általában elég intelligensek és ugyan timeout után, de továbbmennek a második IP-re. Ez nyilván nem túl nyerő, de ha esetleg leáll az egyik gép, akkor ezt bele kell tervezni. Könnyen lehet akkora terhelés egy merészebb és erősen látogatott Drupal oldalon, ahol egyszerűen CPU-val nem győzik a nép rohamát. (Igen, még úgy sem ha opcode cache-elnek.)

Szerk: Mégvalami. Szerencsere manapság a "mi van ha leáll a szerver" normális vasaknál és eleve több gépes üzemben nem egy észveszejtő probléma.

Tényleg nem értem, hogy ha van előtét (proxy), van failover funkciód, akkor mi a szent szarnak oda a DNS round-robin??? Mindaz, amit meg akarhatsz csinálni, az előtét proxyban megoldható, a kliensről nézve transzparens módon.
Ezzel szemben a DNS round-robin látszik a kliensből, a kliens nincs a fennhatóságod alatt, ergó úgy értelmezi az RFC-ket, ahogy neki jólesik, és nem mondhatod meg a felhasználónak, hogy milyen klienst használjon, és tuti biztos lehetsz abban, hogy a kliensek nem nyomnak DNS kérést minden HTTP kérés előtt, amit kapnak választ, azt meg addig használják, amíg kedvük tartja. Meg abban is, hogy a kliensek döntő többsége leszarja, hogy egynél több címet kapott; az elsőre rápróbál, ha nem jött össze, akkor error, oszt csókolom.