II. Hogyan működik a webmonitor szolgáltatás?
Horváth Gábor
<>
ELTE
Kovács Róbert
<>
ELTE
Kiss Bence
<>
ELTE
Olyan programot írni, ami ciklikusan lekér egy paraméterben megadható url-t és kiírja a válaszidőt - nem feladat, inkább ujjgyakorlat. A webmonitor specifikációja azonban tartalmaz néhány érdekes kitételt:
- Lineáris skálázhatóság a hardware teljesítőképességének határáig, szűk keresztmetszetek nélkül. Ez több ezer párhuzamos mérést jelent, amiknek nem szabad zavarniuk egymást, akárhogyan is zajlanak.
- Pontosság: Ha a mérés esetében fontos, hogy másodpercre pontosan mérjünk, akkor ennek lehetőségét biztosítani kell.
- Gyorsaság: megengedjük a mérés és az ábrázolás esetében is a másodpercenkénti mintavételezést.
- Magas rendelkezésre állás: az alkalmazás minden komponensének futás közben újraindíthatónak és upgrade-elhetőnek kell lennie.
Ezen követelmények eléggé megrostálják a használható algoritmusokat. Az általunk végül alkalmazott megoldás főbb tulajdonságai:
- Adatbázis kliens-szerver rendszer helyett minden entitás által elérhető shared memory adatbázis olyan hozzáférési API-val, ami a locking-ot és a trigger-eket is szinkronizálja.
- FIFO üzenetqueue alapú eseményvezérlés.
- Önálló mérő, riasztáskezelő, megjelenítő, stb. entitások, melyek a load-balancing miatt sok példányban is futtathatók a terheléstől függően, illetve rolling upgrade eljárással lecserélhetők futás közben.
Az előadás során ennek a keretrendszernek és az ebben elkészített webmonitorozó alkalmazás komponenseinek az ismertetése hangzik el.