Workspace
Ein Workspace ist eine clientseitige, benannte Verbindung zu einer Menge von Managern. Über ihn adressieren die CLI und die Web-Konsole einen Cluster; er ist weder ein Server noch ein Store.
Was ein Workspace ist
Ein Workspace ist ein benannter Verweis, gespeichert auf der Maschine, von der aus Sie administrieren, und hält fest, mit welchen Managern Ihre Admin-Befehle kommunizieren. Er enthält einen Namen, die Liste der Manager-Endpunkte (jeweils als host:port geschrieben, standardmäßig Management-Port 7801), ein optionales Admin-Token und den Deployment-Modus des Clusters. Sie erstellen einen mit New-ZrWorkspace und machen ihn mit Use-ZrWorkspace zum aktiven Ziel.
Ein Workspace ist rein ein clientseitiges Lesezeichen. Das Erstellen oder Wechseln eines Workspace startet, stoppt oder ändert keinen Server, Node oder Store — es ändert lediglich, welche Manager Ihre Sitzung adressiert. Der PowerShell-Workspace ist das Gegenstück zum Workspace der Web-Konsole: Beide haben dieselbe Form (ID, Name, Manager, Token), sodass die beiden Werkzeuge denselben Cluster auf dieselbe Weise beschreiben.
# Create a workspace named "prod" targeting two managers, then activate it
New-ZrWorkspace -Name "prod" -Managers "10.0.0.10:7801","10.0.0.11:7801"
Use-ZrWorkspace prod
Was ein Workspace nicht ist
Weil die Begriffe leicht verwechselt werden, hilft es, die Grenzen direkt zu benennen.
- Ein Workspace ist kein Server. Ein Server ist eine reale Maschine, auf der Zaris läuft; ein Workspace ist eine Liste der Management-Endpunkte der Server, auf Ihrer Seite gespeichert.
- Ein Workspace ist kein Store. Ein Store sind die Daten, die Sie lesen und schreiben. Ein Workspace adressiert einen Cluster, der viele Stores hosten kann.
- Ein Workspace ist kein Cluster. Ein Cluster ist die Menge der laufenden Nodes. Der Workspace benennt lediglich, wie die Manager erreicht werden, die diesen Cluster beobachten oder beaufsichtigen.
Erstellen im Vergleich zum Beitreten
New-ZrWorkspace und Use-ZrWorkspace tun unterschiedliche Dinge, und der Unterschied ist wichtig.
New-ZrWorkspace erstellt einen Workspace, indem es aktuell unbeanspruchte Manager in ihn aufnimmt. Es lehnt Manager ab, die bereits zu einem anderen Workspace gehören, und kann daher nicht stillschweigend einen bestehenden Cluster übernehmen.
Use-ZrWorkspace aktiviert einen Workspace. Ist der genannte Workspace bereits lokal gespeichert, wechselt es einfach ohne Netzwerkaufruf zu ihm. Ist er nicht gespeichert — oder übergeben Sie eine Seed-Manager-Adresse — tritt es dem bestehenden Workspace bei: Es liest die Bindung dieses Managers, prüft den Namen, ermittelt die vollständige Manager-Liste, speichert sie und aktiviert den Workspace. Use-ZrWorkspace erstellt oder beansprucht nie.
# Join an existing "prod" workspace from one of its managers, then activate it
Use-ZrWorkspace prod @('10.0.0.11:7801')
Deployment-Modus
Ein Workspace hält das Deployment-Modell des Clusters fest, dem seine Manager vorgeschaltet sind: Supervisor oder Attach. Im Supervisor-Modus forkt und besitzt jeder Manager die Node-Prozesse auf seiner eigenen Maschine, und die Konsole und die CLI aggregieren die Sichten der Manager zu einem Gesamtbild. Im Attach-Modus laufen die Nodes unter einem Orchestrator, und der Manager beobachtet nur. Wenn Sie den Modus nicht ausdrücklich angeben, erkennt New-ZrWorkspace ihn automatisch, indem es den ersten Manager abfragt, und alle Manager eines Workspace müssen denselben Modus melden.
Wie die Begriffe zusammenhängen
Ein Workspace steht an der Spitze der Adressierungskette: Er benennt die Manager, die Manager sind einem Cluster vorgeschaltet, der Cluster betreibt einen oder mehrere Stores, und die Daten jedes Stores sind in Partitionen aufgeteilt und über Nodes repliziert. Die Tabelle stellt alle sieben Bausteine gegenüber.
| Begriff | Was es ist | Identifiziert durch | Wo es lebt |
|---|---|---|---|
| Workspace | Eine clientseitige, benannte Verbindung zu einer Menge von Managern | Name + Manager-Liste | Auf Ihrer Admin-Maschine (~/.clustron) und in der Konsole |
| Server | Eine Maschine, auf der der Zaris-Management-Dienst läuft | Management-Adresse, host:7801 | Einer pro Maschine (Supervisor-Modus) |
| Store | Die logische Einheit, gegen die Sie lesen und schreiben | Store-Name | Über den Cluster hinweg präsentiert |
| Cluster | Die Menge der Nodes, die gemeinsam einen Store betreiben | Seine Mitglieds-Nodes | Über einen oder mehrere Server hinweg |
| Node | Ein einzelner laufender Store-Prozess | <host>-n<index> | Einer pro Partition-Replikat-Slot |
| Partition | Ein Ausschnitt des Keyspace | Ein Codewort (Amber, Onyx, …) | Zu einem Zeitpunkt im Besitz eines Nodes |
| Replikat | Eine Kopie einer Partition auf einem anderen Node | Seine Partition + haltender Node | Auf einem anderen Node als dem Primary |
Ein Workspace sollte auf Manager verweisen, die alle denselben Cluster beobachten. New-ZrWorkspace warnt, wenn ein hinzugefügter Manager bereits zu einem anderen Workspace gehört, da ein Manager genau einem Cluster vorgeschaltet sein soll.