一、搭環境
阿里rocketmq不用搭建, https://help.aliyun.com/document_detail/34411.html?spm=a2c4g.11186623.6.546.1787650eShM7ho
開源rocketmq(window+rocketmq) https://www.cnblogs.com/amuge/articles/10275292.html
二、發送消息類型:
三、名詞解釋 https://help.aliyun.com/document_detail/29533.html?spm=a2c4g.11186623.6.542.1cfa77d7wLCfvb
消息相關名詞:
Topic:消息主題 , 一級消息類型
Tag:消息標簽,二級消息類型,用來進一步區分某個Topic下的消息分類
Message:消息體
MessageID:消息的全局唯一標識;
Producer:消息生產者(消息發布者)
Producer實例:Producer 的一個對象實例,不同的 Producer 實例可以運行在不同進程內或者不同機器上。Producer 實例線程安全,可在同一進程內多線程之間共享。
consumer:消息消費者(消息訂閱者),負責接收消費消息
Consumer 的一個對象實例,不同的 Consumer 實例可以運行在不同進程內或者不同機器上。一個 Consumer 實例內配置線程池消費消息。
Group 一類 Producer 或 Consumer,這類 Producer 或 Consumer 通常生產或消費同一類消息,且消息發布或訂閱的邏輯一致。
Group ID Group 的標識。
消費相關名詞:
集群消費 一個 Group ID 所標識的所有 Consumer 平均分攤消費消息。例如某個 Topic 有 9 條消息,一個 Group ID 有 3 個 Consumer 實例,那么在集群消費模式下每個實例平均分攤,只消費其中的 3 條消息
廣播消費 一個 Group ID 所標識的所有 Consumer 都會各自消費某條消息一次。例如某個 Topic 有 9 條消息,一個 Group ID 有 3 個 Consumer 實例,那么在廣播消費模式下每個實例都會各自消費 9 條消息。
消息類型名詞:
定時消息 Producer 將消息發送到消息隊列 RocketMQ 服務端,但並不期望這條消息立馬投遞,而是推遲到在當前時間點之后的某一個時間投遞到 Consumer 進行消費,該消息即定時消息。
延時消息 Producer 將消息發送到消息隊列 RocketMQ 服務端,但並不期望這條消息立馬投遞,而是延遲一定時間后才投遞到 Consumer 進行消費,該消息即延時消息。
事務消息 消息隊列 RocketMQ 提供類似 X/Open XA 的分布事務功能,通過消息隊列 RocketMQ 的事務消息能達到分布式事務的最終一致。
順序消息 消息隊列 RocketMQ 提供的一種按照順序進行發布和消費的消息類型, 分為全局順序消息和分區順序消息。
全局順序消息 對於指定的一個 Topic,所有消息按照嚴格的先入先出(FIFO)的順序進行發布和消費。
分區順序消息 對於指定的一個 Topic,所有消息根據 sharding key 進行區塊分區。同一個分區內的消息按照嚴格的 FIFO 順序進行發布和消費。Sharding key 是順序消息中用來區分不同分區的關鍵字段,和普通消息的 key 是完全不同的概念。
四、apache rocketmq名詞解釋
Producer Group(生產組):相同角色組成的組
Name Server:為producer和consumer提供路由(用戶broker發現)
Broker:提供輕量級的topic和queue機制處理消息存儲,同時支持推push和拉pull模式和主從結構的容錯機制
五、發送消息
http://rocketmq.apache.org/docs/simple-example/
http://rocketmq.apache.org/docs/order-example/
http://rocketmq.apache.org/docs/schedule-example/
http://rocketmq.apache.org/docs/transaction-example/