Workspace
Un workspace es una conexión con nombre, del lado del cliente, a un conjunto de managers. Es cómo la CLI y la consola web apuntan a un clúster; no es un servidor ni un almacén.
Qué es un workspace
Un workspace es un puntero con nombre, guardado en la máquina desde la que administras, que registra con qué managers hablan tus comandos de administración. Contiene un nombre, la lista de endpoints de managers (cada uno escrito como host:port, con el puerto de gestión 7801 por defecto), un token de administración opcional, y el modo de despliegue del clúster. Creas uno con New-ZrWorkspace y lo conviertes en el destino activo con Use-ZrWorkspace.
Un workspace es puramente un marcador del lado del cliente. Crear o cambiar un workspace no arranca, detiene ni cambia ningún servidor, nodo o almacén — solo cambia a qué managers direcciona tu sesión. El workspace de PowerShell es el equivalente del workspace de la consola web: ambos tienen la misma forma (id, nombre, managers, token) de modo que las dos herramientas describen el mismo clúster de la misma manera.
# 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
Qué no es un workspace
Como los términos son fáciles de confundir, ayuda enunciar los límites directamente.
- Un workspace no es un servidor. Un servidor es una máquina real que ejecuta Zaris; un workspace es una lista de los endpoints de gestión de los servidores, guardada de tu lado.
- Un workspace no es un almacén. Un almacén son los datos que lees y escribes. Un workspace apunta a un clúster que puede alojar muchos almacenes.
- Un workspace no es un clúster. Un clúster es el conjunto de nodos en ejecución. El workspace solo nombra cómo llegar a los managers que observan o supervisan ese clúster.
Crear frente a unirse
New-ZrWorkspace y Use-ZrWorkspace hacen cosas distintas, y la distinción importa.
New-ZrWorkspace crea un workspace reclamando para él managers que no están reclamados actualmente. Rechaza managers que ya pertenecen a otro workspace, de modo que no puede apoderarse en silencio de un clúster existente.
Use-ZrWorkspace activa un workspace. Si el workspace nombrado ya está guardado localmente, simplemente cambia a él sin llamada de red. Si no está guardado — o pasas una dirección de manager semilla — se une al workspace existente: lee el binding de ese manager, verifica el nombre, descubre el listado completo de managers, lo guarda, y lo activa. Use-ZrWorkspace nunca crea ni reclama.
# Join an existing "prod" workspace from one of its managers, then activate it
Use-ZrWorkspace prod @('10.0.0.11:7801')
Modo de despliegue
Un workspace registra el modelo de despliegue del clúster que sus managers fronten: supervisor o attach. En modo supervisor cada manager bifurca y posee los procesos de nodo en su propia máquina, y la consola y la CLI agregan las vistas de los managers en una sola imagen. En modo attach los nodos se ejecutan bajo un orquestador y el manager solo observa. Cuando no indicas el modo explícitamente, New-ZrWorkspace lo autodetecta sondeando el primer manager, y todos los managers de un workspace deben reportar el mismo modo.
Cómo se relacionan los términos
Un workspace se sitúa en lo alto de la cadena de direccionamiento: nombra los managers, los managers frontean un clúster, el clúster ejecuta uno o varios almacenes, y los datos de cada almacén se dividen en particiones y se replican entre nodos. La tabla contrasta los siete bloques de construcción.
| Término | Qué es | Identificado por | Dónde vive |
|---|---|---|---|
| Workspace | Una conexión con nombre, del lado del cliente, a un conjunto de managers | Nombre + lista de managers | En tu máquina de administración (~/.clustron) y la consola |
| Servidor | Una máquina que ejecuta el servicio de gestión de Zaris | Dirección de gestión, host:7801 | Uno por máquina (modo supervisor) |
| Almacén | La unidad lógica contra la que lees y escribes | Nombre del almacén | Presentado a través del clúster |
| Clúster | El conjunto de nodos que juntos ejecutan un almacén | Sus nodos miembros | A través de uno o varios servidores |
| Nodo | Un único proceso de almacén en ejecución | <host>-n<index> | Uno por ranura de partición-réplica |
| Partición | Una porción del keyspace | Una palabra de código (Amber, Onyx, …) | Propiedad de un nodo a la vez |
| Réplica | Una copia de una partición mantenida en otro nodo | Su partición + el nodo que la contiene | En un nodo distinto del primario |
Un workspace debería apuntar a managers que todos observan el mismo clúster. New-ZrWorkspace advierte si un manager que añades ya pertenece a otro workspace, porque un manager está pensado para frontear exactamente un clúster.