Orderpipelines
Bestellingen stromen naar facturering, verzending en analytics, die elk dezelfde stream in hun eigen tempo lezen.
Append-only eventstreams met consumer groups, bevestigingen en automatisch herstel van berichten die een gecrashte consumer heeft achtergelaten.
De bestelservice voegt een event toe en krijgt zijn id terug.
Een geanimeerde walkthrough met echte HotKV-commando's en voorbeeldantwoorden. Klik op een stap om ernaartoe te springen. Commando's en antwoorden blijven Engels, precies zoals je ze in HotKV typt en ziet.
Services die op events reageren hebben meer nodig dan een wachtrij. Meerdere onafhankelijke consumers willen dezelfde events, elke consumer group moet werk verdelen over instanties, en wanneer een instantie sterft met berichten in handen moet iemand dat merken en ze overnemen.
Een stream is een append-only log. Elke consumer group leest hem onafhankelijk, levert elk bericht af bij één lid van de groep en houdt het in behandeling totdat het lid het bevestigt. XAUTOCLAIM geeft berichten die te lang in behandeling zijn aan een gezonde consumer.
De bestelservice voegt een event toe en krijgt zijn id terug.
XADD orders * type created order 1182 total 49.00Facturering en verzending hebben elk een eigen groep en ontvangen allebei het event.
XGROUP CREATE orders billing 0 MKSTREAMEen factureringsinstantie leest nieuwe berichten voor zijn groep en blokkeert totdat er iets binnenkomt.
XREADGROUP GROUP billing billing-1 COUNT 10 BLOCK 5000 STREAMS orders >Zodra de factuur is aangemaakt, bevestigt facturering en verlaat het bericht zijn lijst met berichten in behandeling.
XACK orders billing 1790985600123-0Een verzendinstantie is gestorven terwijl hij berichten vasthield. Na 60 seconden inactiviteit worden ze door een gezonde overgenomen.
XAUTOCLAIM orders shipping shipping-2 60000 0-0 COUNT 25Bestellingen stromen naar facturering, verzending en analytics, die elk dezelfde stream in hun eigen tempo lezen.
Gebruikersacties worden aan een stream toegevoegd en opnieuw afgespeeld door elke service die de geschiedenis nodig heeft.
Apparaatberichten worden gebufferd in streams en verwerkt door een groep workers die meeschaalt met de belasting.
Items krijgen in tijd geordende id's en kunnen worden ingekort op lengte of leeftijd.
XADDXTRIMElke groep krijgt elk bericht en verdeelt het werk over haar leden.
XGROUPXREADGROUPBerichten blijven in behandeling totdat ze worden bevestigd.
XACKXPENDINGBerichten die te lang inactief zijn, worden door een andere consumer overgenomen.
XAUTOCLAIMXCLAIMJa. XRANGE leest elk deel van de stream op id, en een nieuwe consumer group kan vanaf het begin starten.
Kort hem in met XTRIM of met de optie MAXLEN of MINID van XADD.
XADD ondersteunt idempotente producer-id's (IDMP), zodat een opnieuw geprobeerde publicatie geen tweede item aanmaakt. Zie de XADD-referentie.
HotKV spreekt het Redis-protocol, dus je kunt een bestaande client erop richten en dezelfde commando's uitvoeren.