- Slack hat in den vergangenen 1,5 Jahren von einer monolithischen Struktur auf eine zellbasierte Struktur (Cellular Architecture) umgestellt, um die Redundanz zu erhöhen und die Auswirkungen von Site-Ausfällen zu begrenzen
- Auslöser war die Notwendigkeit, die Resilienz des Slack-Dienstes nach dem Netzwerkausfall im Juni 2021 zu verbessern, durch den es bei Slack-Kunden zu Servicebeeinträchtigungen kam
- In der zellulären Struktur arbeitet jeder Dienst pro Availability Zone (AZ) als ein virtueller Dienst, sodass ein Ausfall in einer AZ keine Auswirkungen auf andere AZs hat
- Enthalten ist auch eine Funktion zum Drainen des Traffics aus einer problematischen AZ, um sie effektiv vom Rest des Systems zu isolieren
- Der Drain-Mechanismus wurde so konzipiert, dass er schnell, fehlerfrei, schrittweise und unabhängig von den Ressourcen der gerade entleerten AZ funktioniert
- Die Umstellung auf die zelluläre Struktur umfasst auch eine Strategie namens Siloing, bei der Dienste nur innerhalb ihrer eigenen AZ Traffic empfangen und senden. Das hilft dabei, sämtliche Ausfälle innerhalb einer einzelnen AZ einzudämmen
- Die Implementierung des Traffic-Shifting-Mechanismus konzentrierte sich auf das System, das Benutzeranfragen an Kerndienste weiterleitet
- Die neue Struktur unterstützt das Drainen von AZs mithilfe von Envoy-Features wie Weighted Clusters und dynamischer Gewichtungszuweisung über RTDS
- Diese Umstellung hat sowohl die Betriebsweise von Slack als auch die Art und Weise verändert, wie Dienste aufgebaut werden, und liefert leistungsfähige neue Werkzeuge für Traffic-Management und Failure Mitigation
- In künftigen Blogbeiträgen sollen technische Implementierungsdetails tiefer behandelt und die Auswirkungen der neuen Struktur auf den Slack-Betrieb diskutiert werden
1 Kommentare
Hacker-News-Kommentare