Szerző: Gálffy Csaba

2016. február 1. 16:46

Terheléselosztót dobott a közösbe a Google

Újabb technológiával gazdagítja a szabad szoftveres világot a Google, a cég ezúttal az adatközponti terheléselosztó kódját tette elérhetővé.

Új load balancert mutatott be a Google és egyúttal közzé is tette a megoldás forráskódját. A Seesaw ("mérleghinta") kódnevű szoftvert a cég élesben használja saját adatközpontjaiban a szerverek közötti terhelés elosztására. A saját fejlesztés alatt a Linux LVS dolgozik, az extra funkciókat a fejlesztők Góban írták meg.

A bejegyzés szerint a Google korábban két, egymástól eltérő terheléselosztó technológiát használt házon belül, azonban a cég mérnökei mindkettővel elégedetlenek voltak - stabilitási és kezelhetőségi kihívásokat támasztott e két megoldás. Google-ről lévén szó a mérnökök végül nekiláttak egy saját megoldás fejlesztésének, amely a cég egyedi igényeit maximálisan ki tudja elégíteni. Ezek érdekes módon nem funkciógazdagságra, hanem a kiszámítható viselkedésre vonatkoznak, a képességlistán csupán olyan elvárások szerepeltek, mint a unicast és anycast virtuális IP-k forgalmának kezelése, NAT és Direct Routing illetve a backend rendszerek monitorozása. Ez utóbbi azért fontos, hogy a load balancer csak olyan szervernek küldjön forgalmat, amely azt helyesen fel is tudja dolgozni, így a terheléselosztó egyúttal a redundanciát is egy csapással megoldja.

Egyszerűnek tűnik? Nem az

Mivel a két létező rendszer egyike Linux LVS (Linux Virtual Server) alapokon működött és ezzel a fejlesztők elégedettek is voltak, az új, saját főzésű megoldáshoz is ezt az alapot vitték tovább. Az LVS saját hatáskörben elvégzi a szükséges feladatok jelentős részét, így logikus választásnak bizonyult erre a szerepre. A további képességeket a Google mérnökei fejlesztették a rendszerhez - ezek az alkalmazások pedig a cég saját programnyelvén, Góban íródtak.

A bejegyzés szerint ez is jó döntésnek bizonyult az évek során, a Go ugyanis fejlett szálkezeléssel bír, így a rengeteg párhuzamos feladattal járó hálózatos feladatra is alkalmasnak bizonyult. Ugyanígy a folyamatok közötti kommunikáció megvalósítására is alkalmas, a net/rpc könyvtárnak köszönhetően az üzenetek küldése-fogadása is megoldott. Szintén induláskor hozott döntés volt a moduláris, többfolyamatos architektúra és a kiszámítható viselkedést leíró elv: ha egy folyamat szokatlan állapotba kerül (nem válaszol, kifagy, stb.), akkor azt a rendszer leállítja és újraindítja.

Toxikus vezetők szivárványa

Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

Toxikus vezetők szivárványa Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

A fejlesztés eredményeként jött létre a Seesaw v2, amely immár élesben is ki tudta váltani a korábban párhuzamosan használt két terheléselosztót. A szoftver a reményeket is beváltotta, lényegesen jobb rendelkezésre állást és hatékonyabb kezelhetőséget biztosított - igaz, a mutatószámokat a Google nem közölte.

A Seesaw a projekt GitHub oldaláról tölthető le, itt olvasható a függőségek listája is. A szoftver Apache 2.0 licenc alatt érhető el, így értelemszerűen szabad, nyílt forráskódú. Ahogy arra az oldal felhívja a figyelmet, a Seesaw nem hivatalos Google-termék, így támogatás sem jár mellé.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról