訊息佇列 03 訊息模型 主題和佇列有什麼區別

2021-10-02 16:44:35 字數 821 閱讀 5853

佇列是一種資料結構,有完整而嚴格的定義。

佇列: 先進先出

注: 多個生產者傳送資訊為所有訊息合集,順序為生產者傳送訊息的自然順序。

多個消費者時,任何一條訊息只能被乙個消費者收到

多個消費者需要共享乙個訊息,演化出「發布-訂閱模型」

注:佇列和發布-訂閱模型最大區別就是乙份訊息資料能不能被消費多次的問題

依然使用佇列模型

配置exchange將訊息傳送到多個佇列,每個佇列中都存放乙份完整的訊息資料。

標準的發布-訂閱模型

也有佇列概念:請求-確認機制

解決這個問題增加了佇列概念:每個主題包含多個佇列,通過多個佇列來實現多例項並行生產和消費

只在佇列上保證訊息有序性,主題層面是無法保證的

訂閱者為通過消費組來實現的,不同消費組之間消費進度彼此不受影響。

消費組內多個消費者是競爭關係

訊息佇列上維護乙個消費位置

模型和rocketmq一樣

唯一區別,佇列概念名稱不一樣,這裡為「分割槽」,含義和功能沒有區別

訊息佇列 策略 訊息模型 主題和佇列有什麼區別?

可以看到,技術圈的風向一直在變,大資料 雲的熱度已經在慢慢消退,現在當紅的是 ai 和 iot。這些火熱的概念,它最終要從 和 ppt 落地,變成真正能解決問題的系統,否則就是乙個空中樓閣。那不變的是什麼?一些題外話的感觸 最初的訊息佇列,就是乙個嚴格意義上的佇列 如果需要將乙份訊息資料分發給多個消...

訊息的主題和佇列

一 佇列模型 我們常用的的生產者 消費者模式,生成者生成訊息,消費者消費已有的訊息。訊息佇列一開始也是使用這種模式稱之為佇列模型,生產者將訊息投遞到訊息佇列中,消費者從訊息佇列中取出訊息,而訊息就是已佇列的結構存放在訊息佇列中。但這種模型有個缺點,當這個訊息需要被多個消費者消費的時候,需要生產者傳送...

訊息佇列 訊息佇列

輪詢排程 一次性分發所有訊息,保證訊息平均分配,不管消費者是否能正常消費 訊息應答 保證消費端能確實消費,不丟失 公平 乙個乙個分發所有訊息,在保證分發到的執行緒確認回覆後,才分發下個訊息給下個空閒的消費者,訊息持久化 保證佇列中的訊息不丟失,包括3要素 交換器 訊息佇列 訊息都必須宣告持久化 發布...