XXL-MQ v1.2.2 釋出,分散式訊息佇列
Release Notes
1、訪問令牌(accessToken):為提升系統安全性,訊息中心和客戶端進行安全性校驗,雙方AccessToken匹配才允許通訊;
2、支援批量註冊、摘除,提升註冊發現效能;升級 xxl-rpc 至 v1.3.1;
3、升級 pom 依賴至較新版本;
4、表結構調整提升相容性,表名轉小寫;
5、客戶端取消Consumer非空的限制;
簡介
XXL-MQ是一款輕量級分散式訊息佇列,支援 "併發訊息、序列訊息、廣播訊息、延遲訊息、事務訊息、失敗重試、超時控制" 等訊息特性。現已開放原始碼,開箱即用。
特性
1、簡單易用: 一行程式碼即可釋出一條訊息; 一行註解即可訂閱一個訊息主題;
2、輕量級: 部署簡單,不依賴第三方服務,一分鐘上手;
3、訊息中心HA:訊息中心支援叢集部署,可大大提高系統可用性,以及訊息吞吐能力;
4、消費者HA:消費者支援叢集部署,保證消費者可用性;
5、三種訊息模式:
並行訊息:訊息平均分配在該主題線上消費者,分片方式並行消費;適用於吞吐量較大的訊息場景,如郵件傳送、簡訊傳送等業務邏輯
序列訊息:訊息固定分配給該主題線上消費者中其中一個,FIFO方式序列消費;適用於嚴格限制併發的訊息場景,如秒殺、搶單等排隊業務邏輯;
廣播訊息:訊息將會廣播發送給該主題線上消費者分組,全部分組都會消費該訊息,但是一個分組下只會消費一次;適用於廣播場景,如廣播更新快取等
6、延時訊息: 支援設定訊息的延遲生效時間, 到達設定的生效時間時該訊息才會被消費;適用於延時消費場景,如訂單超時取消等;
7、事務性: 消費者開啟事務開關後,訊息事務性保證只會成功執行一次;
8、失敗重試: 支援設定訊息的重試次數, 在訊息執行失敗後將會按照設定的值進行訊息重試執行,直至重試次數耗盡或者執行成功;
9、超時控制: 支援自定義訊息超時時間,訊息消費超時將會主動中斷;
10、吞吐量: 依賴於部署的消費中心叢集和DB效能;DB可藉助多表提升效能,不考慮DB的情況下,吞吐量可以無限橫向擴充套件;可參考示例專案效能測試用例,單機TPS過萬;
11、訊息可見: 系統中每一條訊息可通過Web介面線上檢視,甚至支援編輯訊息內容和訊息狀態;
12、訊息可追蹤: 支援追蹤每一條訊息的執行路徑, 便於排查業務問題;
13、訊息失敗告警:支援以Topic粒度監控訊息,存在失敗訊息時主動推送告警郵件;預設提供郵件方式失敗告警,同時預留擴充套件介面,可方面的擴充套件簡訊、釘釘等告警方式;
14、容器化:提供官方docker映象,並實時更新推送dockerhub,進一步實現產品開箱即用;
15、訊息持久化:全部訊息持久化儲存,訊息中心支援通過配置選擇是否清理過期訊息。
16、訪問令牌(accessToken):為提升系統安全性,訊息中心和客戶端進行安全性校驗,雙方AccessToken匹配才允許通訊;