
mis au point par le projet Eventide
Le projet Eventide a présenté tôt ce mois Message DB, une boîte à outils d'événements et de messages complets implémentés dans PostgreSQL pour les applications Pub/Sub (Publish-Subscribe), Event Sourcing, messagerie, et Evented Microservices (microservices événementiels). Message DB a été développé pour faciliter la tâche aux utilisateurs et leur permettre d’écrire leurs propres clients dans la langue de leur choix. Selon l’équipe du projet Eventide, Message DB est construit sur Postgres et peut être déployé dans un environnement local ou dans le cloud.
Message DB est une implémentation du minimum de fonctionnalités essentielles des applications événementielles, à l'architecture de service et au traitement des flux, mais sans les frais généraux liés à l'exploitation d'une infrastructure à grande échelle. Selon l’équipe du projet Eventide, vous pouvez utiliser Message DB lorsque vous souhaitez profiter des avantages de l'architecture événementielle, mais que vous ne voulez pas ou n'avez pas besoin des compromis des technologies natives à l'échelle super-massive, comme les clusters Event Store ou Kafka.
Selon sa documentation, Message DB s'appuie sur la technologie de stockage de données éprouvée que vous connaissez déjà et en laquelle vous avez confiance, soutenue par d'innombrables options de cloud et d'hébergement comme AWS, Google et Heroku. Message DB prend en charge la lecture et l'écriture d'événements et de commandes dans les flux et les catégories, Pub/Sub, l'échelle horizontale à travers les groupes de consommateurs et la protection de la concurrence via les écritures avec un numéro de séquence attendu.
En d’autres mots, il donne accès à des fonctions permettant d'écrire des messages dans des flux et de lire des messages provenant de flux d'entités et de catégories. Les messages sont stockés dans un seul tableau. Il prend également en charge un mécanisme de clé d'idempotence, les écritures sérialisées, l'analyse des noms de flux et de nombreuses autres fonctionnalités. Selon l’équipe de développement, Message DB peut être installé sous la forme d'un paquet Ruby Gem, d'un paquet NPM, ou peut simplement être cloné à partir de son référentiel GitHub.
Message DB propose également une API qui fournit une interface des fonctions du serveur Postgres qui peut être utilisée avec n'importe quel langage de programmation ou via l'outil en ligne de commande psql. L'interaction avec la mémoire sous-jacente via les fonctions du serveur Postgres garantit une écriture et une lecture correctes des messages, flux et catégories. Vous pouvez écrire un message au format JSON dans un flux nommé, en spécifiant éventuellement des métadonnées au format JSON et un numéro de version attendu.
Ensuite, vous pouvez récupérer les messages à partir d'un seul flux, en spécifiant éventuellement la position de départ, le nombre de messages à récupérer et une condition supplémentaire qui sera ajoutée à la clause WHERE de la commande SQL. De même, vous pouvez aussi récupérer les messages d'une catégorie de flux. La référence complète pour l’API est spécifiée sur le dépôt GitHub officiel du projet. Par défaut, le seul tableau de stockage des messages est nommé “message_store”. Un schéma et un rôle d’utilisateur sont aussi créés par défaut et nommés “message_store”.
Message DB est open source et publié sous la licence MIT. Vous pouvez également découvrir plus à son sujet grâce à sa documentation. Voici un aperçu des fonctionnalités de Message DB :
- Pub/Sub ;
- données des messages au format JSON ;
- flux d'événements ;
- catégories de flux ;
- métadonnées ;
- files d'attente de messages ;
- stockage des messages ;
- groupes de consommateurs ;
- hébergeur de service ;
- outils d'administration ;
- rapports ;
- etc.
Sources : Message DB, GitHub
Et vous ?

Voir aussi




Vous avez lu gratuitement 1 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.