Pipelines de commandes
Les commandes circulent vers la facturation, l'expédition et l'analytique, chacune lisant le même stream à son propre rythme.
Des streams d'événements en ajout seul, avec groupes de consommateurs, acquittements et récupération automatique des messages laissés par un consommateur planté.
Le service commandes ajoute un événement et reçoit son identifiant en retour.
Une démonstration animée avec de vraies commandes HotKV et des exemples de réponses. Cliquez sur une étape pour y accéder directement. Les commandes et les réponses restent en anglais, exactement comme vous les saisissez et les voyez dans HotKV.
Les services qui réagissent à des événements ont besoin de plus qu'une file. Plusieurs consommateurs indépendants veulent les mêmes événements, chaque groupe de consommateurs doit répartir le travail entre ses instances, et quand une instance tombe avec des messages en main, quelqu'un doit s'en apercevoir et les reprendre.
Un stream est un journal en ajout seul. Chaque groupe de consommateurs le lit indépendamment, livre chaque message à un seul membre du groupe et le garde en attente jusqu'à ce que ce membre l'acquitte. XAUTOCLAIM confie les messages restés trop longtemps en attente à un consommateur en bonne santé.
Le service commandes ajoute un événement et reçoit son identifiant en retour.
XADD orders * type created order 1182 total 49.00La facturation et l'expédition ont chacune leur propre groupe, et chacune reçoit l'événement.
XGROUP CREATE orders billing 0 MKSTREAMUne instance de facturation lit les nouveaux messages de son groupe, en attendant que quelque chose arrive.
XREADGROUP GROUP billing billing-1 COUNT 10 BLOCK 5000 STREAMS orders >Une fois la facture créée, la facturation acquitte le message, qui quitte sa liste d'attente.
XACK orders billing 1790985600123-0Une instance d'expédition est tombée avec des messages en main. Après 60 secondes d'inactivité, ils sont repris par une instance saine.
XAUTOCLAIM orders shipping shipping-2 60000 0-0 COUNT 25Les commandes circulent vers la facturation, l'expédition et l'analytique, chacune lisant le même stream à son propre rythme.
Les actions des utilisateurs sont ajoutées à un stream et rejouées par tout service qui a besoin de l'historique.
Les messages des appareils sont mis en tampon dans des streams et traités par un groupe de workers qui s'adapte à la charge.
Les entrées reçoivent des identifiants ordonnés dans le temps et peuvent être élaguées par longueur ou par âge.
XADDXTRIMChaque groupe reçoit chaque message et répartit le travail entre ses membres.
XGROUPXREADGROUPLes messages restent en attente jusqu'à leur acquittement.
XACKXPENDINGLes messages inactifs trop longtemps sont repris par un autre consommateur.
XAUTOCLAIMXCLAIMOui. XRANGE lit n'importe quelle partie du stream par identifiant, et un nouveau groupe de consommateurs peut partir du début.
Élaguez-le avec XTRIM ou avec l'option MAXLEN ou MINID de XADD.
XADD prend en charge les identifiants de producteur idempotents (IDMP), et une publication retentée ne crée pas de seconde entrée. Consultez la référence de XADD.
HotKV parle le protocole Redis. Vous pouvez donc y connecter un client existant et exécuter ces mêmes commandes.