Ripple: het ontdekken van gedistribueerde service dependency graphs
Moderne gedistribueerde systemen zijn opgebouwd uit een web van onderling verbonden services. Dat zorgt voor flexibiliteit, maar creëert ook verborgen afhankelijkheden die fouten kunnen verspreiden en cascaderende failures kunnen veroorzaken. Het aanwijzen van de root cause van performanceproblemen in zulke omgevingen vraagt om nauwkeurige service dependency graphs, maar traditionele benaderingen schieten vaak tekort, zeker wanneer complexe routingtechnieken zoals Network Address Translation (NAT) verhullen wat er echt gebeurt.
In deze TechTalk introduceert Diogo Landau, Software/Performance Engineer & PhD Candidate aan de Universiteit Utrecht, Ripple: een runtimesysteem dat service dependency graphs op procesniveau opbouwt zonder wijzigingen in de broncode. In tegenstelling tot bestaande methoden blijft Ripple betrouwbaar werken bij NAT en andere complexe routing. Door gebruik te maken van eBPF injecteert Ripple lichtgewicht identifiers in TCP-verbindingen, waardoor services en processen nauwkeurig aan elkaar gekoppeld worden.
Diogo laat zien hoe Ripple werkt, presenteert de evaluatie in meerdere real-world scenario’s en deelt waarom het systeem consequent bijna perfecte precisie en recall behaalt met minimale overhead en daarmee state-of-the-art systemen overtreft.
Doe mee en zie hoe Ripple root cause analysis in gedistribueerde systemen sneller, betrouwbaarder en NAT-proof maakt.