Aller au contenu principal

Zaris 0.9.0 est là — et disponible en disponibilité générale

· 5 minutes de lecture
Clustron Team
Ingénierie des systèmes distribués

Zaris 0.9.0 — Disponibilité générale

Aujourd'hui, nous publions Zaris 0.9.0, et avec lui, Zaris atteint la disponibilité générale. Il est prêt pour la production, multiplateforme, et désormais soutenu par un support commercial.

Si vous ne le connaissez pas encore : Zaris est un store clé-valeur distribué et en mémoire pour .NET. Il est rapide, répliqué, et vous pouvez le piloter depuis un navigateur, PowerShell, ou directement depuis votre application. Cette version est l'aboutissement de ce travail — le moment où un « projet prometteur » devient une « solution que vous pouvez mettre en production ».

Voici les nouveautés.

Réplication distribuée et haute disponibilité​

Zaris répartit désormais les données en partitions, chaque partition étant conservée sur plusieurs nœuds selon un facteur de réplication configurable. Perdez un nœud, et le cluster continue de servir — les réplicas se reconstruisent automatiquement dès que la capacité revient. Ajoutez ou retirez des nœuds et la carte de partitions se rééquilibre sans interruption de service.

Un cluster durable par défaut : 4 nœuds, RF 2, deux partitions ayant chacune deux copies

Une remarque de dimensionnement mérite d'être soulignée : chaque partition a besoin de RF instances distinctes pour rester durable ; assurez-vous donc d'exécuter suffisamment de nœuds pour que chaque partition atteigne RF. Sur Kubernetes, cela signifie un nombre de pods multiple de RF — pour RF2, un nombre pair. C'est pourquoi les valeurs par défaut lancent un cluster 4 nœuds, RF2 : deux partitions, chacune avec deux copies sur des nœuds distincts.

Une console web pour vraiment gérer la chose​

Les versions précédentes s'appuyaient fortement sur la ligne de commande. 0.9.0 livre une interface de gestion dans le navigateur, avec l'état de santé en direct du cluster, des nœuds et des partitions, des métriques de débit et de latence, et des vues des connexions actives. Vous pouvez y créer, démarrer, mettre à l'échelle et inspecter des stores, gérer les certificats TLS/CA avec des étapes guidées, et passer d'un cluster à l'autre à l'aide des espaces de travail.

La console web Clustron Zaris — tableau de bord du cluster

L'outillage PowerShell, repensé​

Les modules AdminShell et ClientShell ont été retravaillés :

Les connexions fondées sur les espaces de travail via New-ZrWorkspace / Use-ZrWorkspace signifient la fin du câblage manuel du manager. Les commandes de cycle de vie et de mise à l'échelle des stores — New-ZrStore, Start-ZrStore, Add-ZrServer / Remove-ZrServer — couvrent l'ensemble de la boucle opérateur. Et Watch-ZrStoreMetrics vous offre des opérations en direct avec un ordre de métriques pensé pour l'opérateur, des erreurs de connexion plus claires et la récupération automatique de la CA.

Une API client plus épurée​

Les chaînes de connexion fonctionnent désormais de la même façon partout — en intra-processus, à distance, sur Docker ou Kubernetes :

zaris://host:7861/store

(ou zariss://… pour le TLS), avec des hôtes d'amorçage séparés par des virgules, un basculement automatique et des tokens fournis en toute sécurité via env: ou file:.

En plus de cela, vous disposez d'un ensemble véritablement riche d'opérations de données : get/put/delete, compare-and-swap, opérations en masse et par lots, scan et recherche, opérations par préfixe, transactions, baux, élection de leader, compteurs distribués, limitation de débit et une file de tâches distribuée. Si vous êtes sur ASP.NET Core, il existe des fournisseurs IDistributedCache et HybridCache prêts à l'emploi, ainsi que des clients résilients, conscients de la topologie, avec reconnexion et réessai automatiques.

S'exécute partout où vous exécutez vos applications​

Windows bénéficie d'un installeur unique couvrant le serveur, le Management Service, la console web et les modules PowerShell. Linux et Docker reçoivent des images de conteneurs publiées et un cluster Docker Compose en une seule commande. Et Kubernetes obtient un chart Helm officiel avec un StatefulSet, une disponibilité conditionnée par la convergence, un PodDisruptionBudget, une terminaison sûre en cas de drain, et la prise en charge de l'accès client externe (hors cluster) avec TLS.

Sécurité et observabilité​

Le TLS est pris en charge pour le trafic client comme pour le trafic nœud à nœud, avec une confiance de CA enfichable — certificats auto-émis, apportez-votre-propre-CA, signés par un intermédiaire ou pré-émis — ainsi qu'une authentification par token. La prise en charge d'OpenTelemetry vous permet d'exporter traces, métriques et logs vers n'importe quel backend compatible OTLP, et elle est entièrement conditionnée par configuration.

Pour commencer​

NuGet :

dotnet add package Clustron.Zaris.SDK --version 0.9.0

Windows : récupérez clustron-zaris-0.9.0-win-x64.zip depuis la page de release (vérifiez-le par rapport à SHA256SUMS.txt).

Docker :

docker pull clustron/zaris-node:0.9.0
docker pull clustron/zaris-manager:0.9.0

Kubernetes (Helm) :

helm install zaris oci://registry-1.docker.io/clustron/zaris --version 0.9.0 \
-n zaris --create-namespace

Support et prochaines étapes​

Zaris reste ouvert et gratuit à exécuter. Pour les équipes qui le mettent en production, des plans de support commercial et des services professionnels sont désormais disponibles — voir clustron.io/support.

Zaris est distribué sous licence Business Source License 1.1 (BSL 1.1).

Les notes de version complètes et les téléchargements sont sur GitHub. Nous serions ravis de savoir ce que vous construisez avec.