Jak můžete detekovat chyby v systému pomocí Data-Distribution Service™?
Distribuované systémy jsou charakteristické tím, že u nich dochází k částečným selhání částí systému na straně uzlu nebo na straně sítě.
My potřebujeme, aby náš distribuovaný systém dokázal detekovat selhání abychom byli schopni na tyto chyby reagovat a z chybového stavů se co nejdříve zotavit. Řešením je monitorování stavu systému nástroji, jako je například Prometheus.
V tomto videu se podíváme na to, jak se to řeší u technologie DDS®.
Technologie DDS poskytuje množinu 22 QoS parametrů. Pro detekci výpadků jsou vhodné dva:
Liveliness: Pomocí vyhledávání DDS aplikací jsme schopni zjišťovat přítomnost DDS aplikací v systému. Jsou proto použity tři parametry:
Assert Period: DDS aplikace ohlašují svoji přítomnost všem ostatním aplikacím v uživatelem definovaném intervalu (např. 15 sekund).
Lease Duration: Parametr, který zasílám okolním aplikacím, které mě označí za neaktivního po uplynutí tohoto časového intervalu, když se jim nenahlásím, že jsem aktivní (např. 45 sekund).
Loss Detection Period: Časový interval, který určuje, jak často zjišťuji, že je vzdálená aplikace ještě aktivní (např. 5 sekund)
Deadline: Pomocí tohoto parametru, jsme schopni ověřovat potřebné výkonové parametry systému. Protože nejsme schopni zaručit doručení dat v distribuovaném systému, když víme, že dochází k částečným výpadkům.
Jsme tak schopni určit:
- jak často bude poskytovatel zapisovat periodická data
- jak často potřebuje příjemce dat přijímat data.
V případě výpadku a tedy v případě, že nejsou tyto intervaly dodrženy, je o tom aplikace informována. Jsme tak schopni detekovat problémy s výkonem, ale také třeba nedostupnost poskytovatele periodických dat.
S těmito dvěma parametry pak souvisí třetí QoS parametr
Ownership: Tímto parametrem jsme schopni určit, zdali budeme přijímat data od všech poskytovatelů datového streamu, nebo pouze od jednoho. K čemu je to dobré?
- V případě že zvolíme pouze od jednoho, tak příjemce přijímá data pouze od toho poskytovatele, kterému jsme určili nejvyšší váhu.
- V případě, že dojde k výpadku tohoto poskytovatele, z důvodu nedodržení parametru Liveliness nebo Deadline, je automaticky nahrazen poskytovatelem s nižší váhou (když existuje). Máme tedy zajištěn Failover.
Kromě toho implementátoři technologie DDS přidávají do svých produktů možnosti pro monitorování sítě. Jako např. zjištění latence, throughputu, odeslaných/přijatých paketů, ztracených paketů, znovu odeslaných paketů.
Technologie DDS tedy zjednodušuje sdílení dat mezi aplikacemi, protože překrývá detaily komunikace přes síť a umožňuje detekovat chyby a zotavit se z nich.
Jak detekujete výpadky ve vašem systému?
DDS®, Data-Distribution Service™, DDSI-RTPS™ are either registered trademarks or trademarks of Object Management Group, Inc. in the United States and/or other countries.
Jeden komentář