Server
Ein Server ist eine Maschine, auf der Clustron Zaris läuft. Er hostet den Management-Dienst auf Port 7801 und forkt und besitzt im Supervisor-Modus die Node-Prozesse, die auf dieser Maschine leben.
Was ein Server ist
Ein Server ist eine physische oder virtuelle Maschine, identifiziert durch ihren Host und Management-Port — zum Beispiel machine-d:7801. Auf ihr läuft der Zaris-Management-Dienst, der Verwaltungsanlaufpunkt der Maschine. Dieser Management-Dienst wird auch Manager genannt; er bildet die Steuerungsebene und bleibt außerhalb des Request-Pfads, sodass Verwaltungsarbeit auf einem Server nie eine Datenoperation auf einem Node ausbremst.
Ein Server lauscht standardmäßig auf dem Management-Port 7801. Das ist die Adresse, die Sie in einem Workspace hinterlegen und mit der New-ZrStore, Add-ZrServer und die Konsole kommunizieren.
Supervisor-Modus: Ein Server besitzt seine Nodes
Im Supervisor-Modus tut ein Server mehr als Verwaltungsaufrufe zu beantworten — er betreibt die Nodes auf seiner eigenen Maschine. Wenn Sie einen Store erstellen, forkt der Server die Node-Prozesse für seinen Anteil am Layout, schreibt deren Konfiguration und startet und stoppt sie. Jeder Node, den er besitzt, erhält einen Client-Port ab 7861 und einen Cluster-Port ab 7811, pro Node auf der Maschine hochgezählt.
Die Anzahl der Node-Prozesse, die ein Server für einen Store betreibt, beträgt Partitionen pro Node × Replikationsfaktor. Da ein Server ganze Node-Prozesse besitzt, kann eine einzelne Maschine für die Entwicklung einen realistischen Multi-Node-Cluster hosten.
Im Attach-Modus unterscheidet sich das Modell: Die Nodes laufen unter einem Orchestrator wie Docker Compose oder Kubernetes, und der Manager des Servers beobachtet sie nur, statt sie zu forken. Siehe Deployment-Modelle.
Der Server ist die Skalierungseinheit
Im Supervisor-Modus lassen Sie einen Cluster jeweils um einen Server wachsen oder schrumpfen, nie um einen einzelnen Node. Add-ZrServer nimmt einen leeren, erreichbaren Server in den Workspace auf und lässt ihn denselben homogenen Anteil jedes Stores betreiben, den auch die anderen Server betreiben; die Partitionsübersicht wird dann automatisch erweitert und neu verteilt. Remove-ZrServer ist die Umkehrung.
# Add machine-d to the active workspace; every store grows onto it and partitions rebalance
Add-ZrServer -Address machine-d:7801
Das Hinzufügen eines Servers erweitert die kanonische Definition jedes Stores um das Node-Layout des neuen Servers, verteilt diese Definition an jeden Server, damit die Konfiguration im gesamten Workspace konsistent bleibt, forkt und startet die Nodes des neuen Servers und hängt den Server dann an die Workspace-Liste an.
Wie ein Server zu den anderen Begriffen steht
Ein Server ist eine Maschine; die anderen Bausteine sind logisch. Ein Workspace ist eine clientseitige Liste der Management-Adressen von Servern. Ein Cluster ist die Menge der Nodes, die die Server für einen Store betreiben. Ein Node ist ein Prozess, den ein Server forkt und besitzt. Ein Store sind die Daten, die diese Nodes präsentieren. Ein Server kann also Nodes für mehrere Stores gleichzeitig hosten, und die Nodes eines Stores können über mehrere Server verteilt sein.