Load balancing

A HupWiki-ből...

A load balancing általában hálózatos környezetben használt technológia. A load balancing e típusa a network load balancing. Mint nevéből is kitűnik, célja a terhelés elosztás. Ez a technika a kiskálázás tipikus esete. Nagy terhelés esetén nem egy, hanem több kiszolgálóval oldják meg a szolgáltatást, amelyek között valamilyen rendszer alapján osztják el a feléjük irányuló kéréseket.

A network load balancing leggyakoribb alkalmazása a web kiszolgálóknál figyelhető meg. A webszerverek esetén a cél a Slashdot effektus elkerülése. A hálózati terhelés elosztás legegyszerűbb és legolcsóbb megvalósítása a körben forgó (round robin) DNS. A round robin DNS esetén az egy DNS névre érkező kéréseket több IP címre irányíthatjuk.

Abban az esetben, amikor a network load balance több internet kapcsolat (például több bérelt vonal több különböző ISP-hez) ugyan abban a zónában végződtetését jelenti, [[BGP|Border Gateway Protocol]-t kell használni. Ez load balance-ot tesz lehetővé a bejövő és kimenő kapcsolatok között, valamint ha az egyik kapcsolat valamiért megszakad, a kliensek automatikusan átkerülnek a másik kapcsolatra (fail-over). Hátránya, hogy csak statikus IP címekkel működik, és az ISP-knek BGP-t kell szolgáltatnia - ez bérelt vonal esetén csak némi plussz adminisztrációt jelent, *DSL vonalak esetén általában az ISP-k nem szolgáltatnak BGP-t.

Amennyiben a network load balance során több ethernet kártyának szeretnénk ugyan azt az IP címet adni úgy, hogy a sávszélességük aggregálódjon, és egy ethernet kártya kiesése esetén fail-over történjen, akkor Bonding-ra van szükség. (Soros port esetén: EQL). Bonding = Etherchannel (Cisco) = Trunking (Sun) - ugyan az a protkoll, más-más marketing néven. Az EQL-t vagy a Bondingot a következő aktív hálózati elemnek is támogatnia kell.

Megoldás lehet még az, amikor valamilyen célgép (appliance), mondjuk egy router a pillanatnyi terheléstől függően osztja el a kéréseket. Az ilyen webszerverek általában közös hálózati háttértárat (backend) (pl. SQL szerver) használnak. Ilyen módon extrém terhelést is képes elviselni a kívülről egy szervernek látszó oldal. Azért hogy megvalósítsák a háttértárak nagy rendelkezésre-állását is, ott failover cluster megoldást is alkalmazhatnak.

A load balancig és a failover technológia együttes alkalmazásával magas rendelkezésre-állású, nagy terhelhetőségű hálózati kiszolgálókat építhetünk.