分散式訊息佇列 XXL-MQ v1.2.1 釋出,單機 TPD 過萬
Release Notes
-
1、單機TPS過萬:示例專案中新增功能測試、效能測試用例,以及訊息生產、消費、成功率等方便的資料分析;可參考示例專案效能測試用例(章節 “2.6 功能測試 & 效能測試”),單機TPS過萬;
-
2、底層long polling監控keys非法去重問題修復;
-
3、註冊邏輯優化,批量註冊,提高註冊效能,降低註冊中心壓力;
-
4、訊息中心RPC服務支援自定義註冊IP地址;
-
5、訊息中心內建註冊中心執行緒數優化,精簡;
簡介
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,進一步實現產品開箱即用;
文件地址
-
ofollow,noindex">中文文件