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?
- 2407 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
+1
A drupal alapertelmezetten az adatbazisban tarolja a session-t.
- A hozzászóláshoz be kell jelentkezni
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$%#$#%^*^"
- A hozzászóláshoz be kell jelentkezni
Én erre nem építenék, mert vannak olyan szolgáltatók, akik a rekurzort is load balanceolják. Nekem régen a T-online-al volt olyanom, hogy egyik másodpercben ezt az IP-t, a másikban azt adta vissza.
- A hozzászóláshoz be kell jelentkezni
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..
- A hozzászóláshoz be kell jelentkezni
Ha vannak, hat ne tartsd magadban...
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Itt a sambara vonatkozott a kerdes...
- A hozzászóláshoz be kell jelentkezni
Ha már Linux, akkor NFS, vagy földobod DRBD-re a közös cuccokat. Adott esetben akár az rsync is megteszi. A drupal kódját külön lehet szedni, csak a statikus fájlokat kell szinkronizálni.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Muhahahaahahaha.....
--
1 leszel vagy 0 élő vagy hulla!
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
Okok?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
jahjah, persze, alkalmazunk is ilyet (reverse proxy), de eme dologgal megoldhato a terheles megosztas azon esetekben, amikor NEM allt le egyik szerver sem...az meg legyen a mogotte levo failover feladata
- A hozzászóláshoz be kell jelentkezni
Hát, akkor vagy úgy kell megírnod a proxyt, hogy az osszon el, vagy LVS-t.
Ezzel nem igen fogsz terhelést elosztani.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni