Ajouter un commentaire

minikv: un key-value store distribué en Rust, construit en public

Par:
francoistonic

lun, 19/01/2026 - 07:34

minikv est un stockage clé-valeur distribué écrit en Rust, conçu comme un projet pédagogique avec de réelles exigences de production. Il repose sur des fondations solides: consensus Raft pour la cohérence du cluster, transactions distribuées via Two-Phase Commit, Write-Ahead Log pour la durabilité et un système de sharding virtuel pour l’élasticité. En quelques mois, le projet c'est fait remarqué par la communauté Rust. 

Développé par Emilie, fondatrice de la communauté Rust Aix-Marseille (RAM), minikv s’inscrit dans une démarche d’apprentissage ouverte, où comprendre les systèmes prime sur la recherche de performance brute. Emilie est issue des lettres et des langues, reconvertie dans la tech, qui a choisi d’apprendre les systèmes distribués… en les construisant.

Emilie nous présente le projet
Le projet a été développé intégralement en public sur GitHub, avec une approche itérative assumée: une première version mono-nœud, une réécriture complète en Go pour comparer les modèles, puis une version distribuée finale en Rust. Cette troisième itération a permis de clarifier l’architecture et de transformer un exercice d’apprentissage en un système robuste et observable.

Depuis ses premières versions, minikv a rapidement évolué.
La version 0.6.0 introduit notamment :
- l’authentification par clés API et JWT,
- un système de rôles (RBAC),
- la multi-tenance avec isolation des données,
- le chiffrement des données au repos (AES-256-GCM),
- des quotas par tenant,
- des métriques Prometheus avancées et des endpoints compatibles Kubernetes.

Le projet expose plusieurs interfaces: une API HTTP REST pour les clients, une API gRPC pour les communications internes du cluster, ainsi qu’une API compatible S3 (actuellement en démonstration).
Un endpoint d’administration permet de visualiser l’état du cluster en temps réel, facilitant l’exploitation et le débogage.

Au-delà des fonctionnalités, minikv se veut un projet de transmission.
Il documente non seulement le “comment”, mais aussi le “pourquoi” des choix d’architecture: compromis entre performance et durabilité, gestion des pannes, observabilité, et contraintes réelles des systèmes distribués.

Le dépôt est public depuis le premier jour et a déjà suscité l’intérêt de la communauté open source, avec plusieurs étoiles et forks sur GitHub.

Projet GitHub: https://github.com/whispem/minikv

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 W     W  EEEE   QQQ    U   U  H  H 
W W E Q Q U U H H
W W W EEE Q Q U U HHHH
W W W E Q QQ U U H H
W W EEEE QQQQ UUU H H
Q