場景描述
RocketMQ的Topic是消息的邏輯分類單位,用于將消息進行分組和管理。創建Topic的場景可以根據具體業務需求來確定,以下是一些常見的場景描述:
- 消息發布與訂閱:當需要實現消息發布與訂閱模式時,可以創建一個主題來管理相關的消息。發布者可以將消息發送到該主題,而訂閱者可以訂閱該主題以接收感興趣的消息。
- 事件驅動架構:在事件驅動的架構中,不同的模塊之間通過事件進行通信。每個事件可以對應一個主題,模塊可以將事件發送到相應的主題,其他模塊可以訂閱該主題以接收事件通知。
- 日志收集與分析:當需要收集大量的日志數據并進行分析時,可以創建一個主題來管理日志消息。日志產生者可以將日志消息發送到該主題,而日志消費者可以訂閱該主題以進行實時分析或存儲。
- 異步處理:當需要將某些操作異步處理時,可以創建一個主題來管理相關的異步消息。操作發起者可以將異步消息發送到該主題,而異步處理器可以訂閱該主題以進行后續的異步處理。
- 分布式事務消息:在分布式系統中,當需要實現分布式事務消息時,可以創建一個主題來管理相關的事務消息。事務發起者可以將事務消息發送到該主題,而事務消費者可以訂閱該主題以進行事務的處理和確認。
總的來說,創建主題的場景可以根據具體的業務需求來確定。主題可以幫助將消息進行邏輯分類和管理,實現不同的消息傳遞模式和業務場景
新建Topic
1、 天翼云官網點擊控制中心,選擇產品分布式消息服務RocketMQ。
2、 登錄分布式消息服務RocketMQ控制臺,點擊右上角地域選擇對應資源池。
3、 進入實例列表,點擊【管理】按鈕進入管理菜單。
4、 進入Topic管理菜單,點擊【創建Topic】按鈕
5、 在彈出的創建Topic頁面,填寫如下字段信息
1)默認展示當前集群名稱,不可修改。
2)選擇Topic所在的Broker,按照實例創建時候選擇的主備節點對數列出每個broker,可復選。
3)填寫Topic名稱,名字限制2到64個字符,超過限制會導致創建Topic失敗,用戶創建Topic只能包含大小寫字母數字以及_和-符號。
4)按照實際需求填寫Topic備注。
5)填寫每個Broker分區數,分區數必須大于0,小于等于8,創建嚴格順序隊列時,設置分區數為1,且只能選擇一個broker。
6)選擇生產模式,RocketMQ是一個開源的分布式消息中間件,它支持兩種消息生產模式:有序和無序。
- 有序消息生產模式(Ordered Message)是指按照特定規則將消息發送到相同的Message Queue中,并且確保消息在消費者端按照相同的順序進行消費。這種模式適用于那些需要嚴格按照消息順序進行處理的場景,比如訂單處理、流程審批等。
- 無序消息生產模式(Unordered Message)是指消息發送到不同的Message Queue中,每個Queue都是獨立的。消費者可以并行地從多個Queue中消費消息,而無需關心消息的順序。這種模式適用于那些不需要嚴格按照消息順序處理的場景,比如日志收集、異步通知等。
需要注意的是,無論是有序還是無序消息生產模式,RocketMQ都提供了高可靠性的消息傳輸和存儲,并支持水平擴展和高吞吐量的特性。根據具體的業務需求,選擇適合的消息生產模式能夠更好地滿足應用的要求。
7)選擇Topic的讀寫權限,支持讀寫、只讀、只寫3類權限。
6、 完成Topic信息填寫后,保存確認即可新增主題。
7、 若希望批量創建Topic,可點擊【導入Topic】按鈕
- 導入Topic
注意:輸入的Topic名不要帶空格等特殊字符。
通過上傳csv文件,批量創建主題。格式:點擊【下載模板】按鈕下載。
- Topic模板
批量上傳Topic的模板,必須使用模板,才能夠上傳成功,模板格式如下:
| TopicName | QueueNums | Perm | MessageType |
|---|---|---|---|
| Topic1 | 4 | 6 | NORMAL |
| Topic2 | 1 | 6 | FIFO |
| Topic3 | 4 | 6 | DELAY |
| Topic4 | 4 | 6 | TRANSACTION |