Zum Hauptinhalt springen

Cluster Implementierungsübersicht

Der Cluster ist als unabhängige Plugin-Komponente innerhalb des eigenständigen Garnet-Servers konzipiert und implementiert. Er besteht aus den folgenden beiden Unterkomponenten:

  1. Cluster-Sitzung (IClusterSession) Unterkomponente Diese Komponente implementiert die RESP-Parsing-Logik für die relevanten Cluster-Befehle und die zugehörigen Primitiven, die zur Durchführung von Slot-Verifizierungsprüfungen und zur Generierung der entsprechenden Umleitungsnachrichten (z. B. -MOVED, -ASK usw.) verwendet werden.

  2. Cluster-Provider (IClusterProvider) Unterkomponente Diese Komponente implementiert die Kernfunktionalitäten und Features des Clusters wie Gossip, Schlüsselmigration, Replikation und Sharding.

Die Entscheidung, den Cluster in einzelne Komponenten aufzuteilen, die vom eigenständigen Garnet-Server getrennt sind, dient einem doppelten Zweck. Erstens ermöglicht dies eine erste Implementierung, die wesentliche Cluster-Funktionen unterstützt, und gibt Entwicklern gleichzeitig die Möglichkeit, bei Bedarf neue Funktionalitäten beizutragen. Zweitens können Entwickler ihre eigene Cluster-Implementierung nutzen, wenn sie dies für notwendig halten oder unsere Standardimplementierung ihren Bedürfnissen nicht entspricht.