訂單管線
訂單流向帳務、出貨與分析,各自以自己的步調讀取同一個串流。
僅追加的事件串流,具備消費者群組、確認機制,並能自動回收當機的消費者所遺留的訊息。
訂單服務附加一個事件,並取回它的 ID。
以真實 HotKV 指令與範例回覆呈現的動畫導覽。點擊任一步驟即可跳到該步驟。 指令與回覆維持英文,與您在 HotKV 中輸入及看到的完全一致。
對事件做出反應的服務需要的不只是佇列。多個獨立的消費者想要相同的事件,每個消費者群組需要在各個執行個體之間分擔工作,而當某個執行個體帶著手上的訊息停止運作時,必須有人察覺並接手。
串流是僅追加的日誌。每個消費者群組各自獨立讀取,把每則訊息交給群組中的一位成員,並在該成員確認之前保持待處理。XAUTOCLAIM 會把待處理過久的訊息交給健康的消費者。
訂單服務附加一個事件,並取回它的 ID。
XADD orders * type created order 1182 total 49.00帳務與出貨各有自己的群組,各自都會收到這個事件。
XGROUP CREATE orders billing 0 MKSTREAM帳務的一個執行個體讀取其群組的新訊息,並阻塞到有訊息到來為止。
XREADGROUP GROUP billing billing-1 COUNT 10 BLOCK 5000 STREAMS orders >發票建立後,帳務確認,訊息便離開它的待處理清單。
XACK orders billing 1790985600123-0一個出貨的執行個體帶著訊息停止運作。閒置 60 秒後,這些訊息由健康的執行個體認領。
XAUTOCLAIM orders shipping shipping-2 60000 0-0 COUNT 25訂單流向帳務、出貨與分析,各自以自己的步調讀取同一個串流。
使用者動作附加到串流,並由任何需要歷史記錄的服務重播。
裝置訊息在串流中緩衝,並由隨負載擴展的一組工作者處理。
項目具有依時間排序的 ID,可依長度或時間修剪。
XADDXTRIM每個群組都會取得每一則訊息,並在其成員之間分擔工作。
XGROUPXREADGROUP訊息在被確認之前保持待處理。
XACKXPENDING閒置過久的訊息會由另一個消費者認領。
XAUTOCLAIMXCLAIM可以。XRANGE 能依 ID 讀取串流的任何部分,新的消費者群組也能從頭開始。
用 XTRIM,或 XADD 的 MAXLEN 或 MINID 選項來修剪。
XADD 支援冪等的生產者 ID (IDMP),因此重試的發布不會建立第二個項目。請參閱 XADD 參考。