Saltar al contenido principal
Despliegues

Despliega Zaris a tu manera

Desde una biblioteca integrada hasta un clúster de Kubernetes protegido y con autoescalado — el mismo almacén, la misma cadena de conexión. Elige la forma que encaje donde ejecutas hoy.

Un almacén, muchas formas

Empieza integrado, crece hasta un clúster

Zaris ejecuta el mismo código en proceso y en clúster. Avanza por este camino sin reescribir tu app — solo cambia la cadena de conexión.

Integrado

En proceso

El motor Zaris se ejecuta dentro de tu aplicación — sin salto de red, sin servidores, sin coordinador. Ideal para desarrollo, pruebas y cachés de un solo proceso.

  • El camino más rápido a un almacén funcional — un solo paquete NuGet
  • Pruebas de integración deterministas y sin dependencias
  • La misma API que usarás en clúster — sin reescritura después
services.AddClustronZaris("demo", "zaris://inproc/demo");
EL PROCESO DE TU APLICACIÓN .NETTu códigoIZarisClientPut / Get / Watch / LockMotor Zaris (en proceso)las particiones viven en este procesosin servidores · sin coordinadoren memoria
Aplicación(es) clienteCLÚSTER · contenedores o VMzaris-n0particiones + réplicasNodus · seguridad · métricaszaris-n1particiones + réplicasNodus · seguridad · métricaszaris-n2particiones + réplicasNodus · seguridad · métricasreplicación · RF copias por particiónGestor + Consolaobservar · proteger · escalar
Docker · VM

Multinodo en Docker o VM

Un clúster replicado real que ejecutas con Docker Compose o en máquinas normales — con un gestor y una consola al lado. Archivos de Compose listos levantan uno con un solo comando.

  • Replicación (RF copias) para disponibilidad
  • Un demostore protegido (token + TLS) listo para usar
  • Se ejecuta donde se ejecuten Docker o .NET — incluido Windows
services.AddClustronZaris("store", "zaris://n0:7861,n1:7861,n2:7861/store");
Recomendado a escala

Kubernetes con Helm

Un StatefulSet de pods de nodo tras un Service headless y de cliente, más el gestor — instalado por el chart de Helm oficial. El descubrimiento de Kubernetes hace del escalado un simple kubectl scale.

  • Escalado en caliente — los nuevos pods se unen, el mapa de particiones crece, sin reinicio
  • Convergencia autorreparable tras reinicios y arranques en frío
  • TLS por secreto montado o por inscripción, acceso externo por pod
helm install zaris charts/zaris -n zaris --set node.replicas=5
NAMESPACE: zaris · Helm chartclient Service :7861StatefulSet · zariszaris-0pod · particionesPVC-free · emptyDirzaris-1pod · particionesPVC-free · emptyDirzaris-2pod · particionesPVC-free · emptyDirheadless Service · stable pod DNS + discoveryGestorDeployment + Consolakubectl scale statefulset → el mapa crece sobre los nuevos pods
FUERA DEL CLÚSTERCliente externozariss://zaris-0.ext…/storeTLS · hoja multi-SAN · tokenCLÚSTER DE KUBERNETESper-pod Service / LoadBalancerzaris-0listener interno + externoanuncia su dirección externazaris-1listener interno + externoanuncia su dirección externalos clientes dentro del clúster usan DNS interno (sin cambios)
Fuera del clúster

Clientes externos

Permite que se conecten clientes fuera del clúster. Cada nodo anuncia una dirección accesible externamente (el modelo de dirección anunciada al estilo Kafka) mediante un segundo listener y un Service por pod — los clientes dentro del clúster no se ven afectados.

  • Direccionamiento por pod con NodePort, LoadBalancer o Ingress
  • TLS con una hoja multi-SAN que cubre el nombre de host externo
  • Una transformación en la capa de frontera — el mapa de particiones no se toca
services.AddClustronZaris("store", "zariss://zaris-0.ext.example.com:7863/store?ca=/ca.pem");
Modelo de gestión

¿Quién ejecuta los nodos?

Dos modelos de operación, una consola. En modo supervisor el gestor ejecuta los nodos; en modo attach tu orquestador los ejecuta y el gestor adopta el clúster para observarlo y protegerlo.

Supervisor

Gestor (supervisor)nodo 0nodo 1nodo 2el gestor gestiona el ciclo de vida del nodo

Attach

Orquestador (k8s / compose)nodo 0nodo 1nodo 2El gestor adopta (observa)el orquestador gestiona el ciclo de vida

La misma cadena de conexión, en todas partes

Elijas la forma que elijas, los clientes se conectan igual — una sola cadena zaris:// / zariss://. Cambia a dónde apunta, no tu código.