本文主要對 SOFAStack 消息隊列涉及的專有名詞及術語進行定義和解析,方便您更好地理解相關概念并使用消息隊列。
中文 | 英文 | 釋義 |
消息主題 | Topic | 消息主題,一級消息類型,通過 Topic 對消息進行分類。詳情請參見 Topic 與 Tag。 |
消息 | Message | 消息隊列中信息傳遞的載體。 |
Message ID | Message ID | 消息的全局唯一標識,由消息隊列系統自動生成,唯一標識某條消息。 |
Message Key | Message Key | 消息的業務標識,由消息生產者(Producer)設置,唯一標識某個業務邏輯。 |
消息標簽 | Tag | 消息標簽,二級消息類型,用來進一步區分某個 Topic 下的消息分類。詳情請參見 Topic 與 Tag。 |
消息生產者 | Producer | 消息生產者,也稱為消息發布者,負責生產并發送消息。 |
Producer 實例 | Producer instance | Producer 的一個對象實例,不同的 Producer 實例可以運行在不同進程內或者不同機器上。Producer 實例線程安全,可在同一進程內多線程之間共享。 |
消息消費者 | Consumer | 消息消費者,也稱為消息訂閱者,負責接收并消費消息。 |
Consumer 實例 | Consumer instance | Consumer 的一個對象實例,不同的 Consumer 實例可以運行在不同進程內或者不同機器上。一個 Consumer 實例內配置線程池消費消息。 |
Group | Group | 一類 Producer 或 Consumer,這類 Producer 或 Consumer 通常生產或消費同一類消息,且消息發布或訂閱的邏輯一致。 |
Group ID | Group ID | Group 的標識。 |
隊列 | Queue | 每個 Topic 下會由一到多個隊列來存儲消息。每個 Topic 對應隊列數與消息類型以及實例所處地域(Region)相關,具體的隊列數可咨詢技術支持。 |
集群消費 | Clustering consumption | 一個 Group ID 所標識的所有 Consumer 平均分攤消費消息。例如某個 Topic 有 9 條消息,一個 Group ID 有 3 個 Consumer 實例,那么在集群消費模式下每個實例平均分攤,只消費其中的 3 條消息。詳情請參見 集群消費和廣播消費。 |
廣播消費 | Broadcasting consumption | 一個 Group ID 所標識的所有 Consumer 都會各自消費某條消息一次。例如某個 Topic 有 9 條消息,一個 Group ID 有 3 個 Consumer 實例,那么在廣播消費模式下每個實例都會各自消費 9 條消息。詳情請參見 集群消費和廣播消費。 |
定時消息 | Scheduled message | Producer 將消息發送到消息隊列服務端,但并不期望這條消息立馬投遞,而是推遲到在當前時間點之后的某一個時間投遞到 Consumer 進行消費,該消息即定時消息。詳情請參見 定時和延時消息。 |
延時消息 | Delayed message | Producer 將消息發送到消息隊列服務端,但并不期望這條消息立馬投遞,而是延遲一定時間后才投遞到 Consumer 進行消費,該消息即延時消息。詳情請參 定時和延時消息。 |
事務消息 | Transactional message | 消息隊列提供類似 X/Open XA 的分布事務功能,通過消息隊列的事務消息能達到分布式事務的最終一致。詳情請參見 事務消息。 |
順序消息 | Ordered message | 消息隊列提供的一種按照順序進行發布和消費的消息類型,分為全局順序消息和分區順序消息,當前僅支持分區順序消息。詳情請參見 順序消息。 |
分區順序消息 | Partitionally ordered message | 對于指定的一個 Topic,所有消息根據 Sharding Key 進行區塊分區。同一個分區內的消息按照嚴格的 FIFO 順序進行發布和消費。Sharding Key 是順序消息中用來區分不同分區的關鍵字段,和普通消息的 Message Key 是完全不同的概念。詳情請參見 順序消息。 |
消息堆積 | Message accumulation | Producer 已經將消息發送到消息隊列的服務端,但由于 Consumer 消費能力有限,未能在短時間內將所有消息正確消費掉,此時在消息隊列的服務端保存著未被消費的消息,該狀態即消息堆積。 |
消息過濾 | Message filtering | Consumer 可以根據消息標簽(Tag)對消息進行過濾,確保 Consumer 最終只接收被過濾后的消息類型。消息過濾在消息隊列的服務端完成。詳情請參見 消息過濾。 |
消息軌跡 | Message trace | 在一條消息從 Producer 發出到 Consumer 消費處理過程中,由各個相關節點的時間、地點等數據匯聚而成的完整鏈路信息。通過消息軌跡,您能清晰定位消息從 Producer 發出,經由消息隊列服務端,投遞給 Consumer 的完整鏈路,方便定位排查問題。詳情請參見 查詢消息軌跡。 |
重置消費位點 | Reset consumption offset | 以時間軸為坐標,在消息持久化存儲的時間范圍內(默認 3 天),重新設置 Consumer 對已訂閱的 Topic 的消費進度,設置完成后 Consumer 將接收設定時間點之后由 Producer 發送到消息隊列服務端的消息。詳情請參見 重置消費位點。 |