xxl-mq分布式消息隊列
《分布式消息隊列XXL-MQ》
XXL-MQ是一款輕量級分布式消息隊列,支持 "并發(fā)消息、串行消息、廣播消息、延遲消息、事務消息、失敗重試、超時控制" 等消息特性。現(xiàn)已開放源代碼,開箱即用。
特性
- 1、簡單易用: 一行代碼即可發(fā)布一條消息; 一行注解即可訂閱一個消息主題;
- 2、輕量級: 部署簡單,不依賴第三方服務,一分鐘上手;
- 3、消息中心HA:消息中心支持集群部署,可大大提高系統(tǒng)可用性,以及消息吞吐能力;
- 4、消費者HA:消費者支持集群部署,保證消費者可用性;
- 5、三種消息模式:
- 并行消息:消息平均分配在該主題在線消費者,分片方式并行消費;適用于吞吐量較大的消息場景,如郵件發(fā)送、短信發(fā)送等業(yè)務邏輯
- 串行消息:消息固定分配給該主題在線消費者中其中一個,F(xiàn)IFO方式串行消費;適用于嚴格限制并發(fā)的消息場景,如秒殺、搶單等排隊業(yè)務邏輯;
- 廣播消息:消息將會廣播發(fā)送給該主題在線消費者分組,全部分組都會消費該消息,但是一個分組下只會消費一次;適用于廣播場景,如廣播更新緩存等
- 6、延時消息: 支持設置消息的延遲生效時間, 到達設置的生效時間時該消息才會被消費;適用于延時消費場景,如訂單超時取消等;
- 7、事務性: 消費者開啟事務開關(guān)后,消息事務性保證只會成功執(zhí)行一次;
- 8、失敗重試: 支持設置消息的重試次數(shù), 在消息執(zhí)行失敗后將會按照設置的值進行消息重試執(zhí)行,直至重試次數(shù)耗盡或者執(zhí)行成功;
- 9、超時控制: 支持自定義消息超時時間,消息消費超時將會主動中斷;
- 10、吞吐量: 依賴于部署的消費中心集群和DB性能;DB可借助多表提升性能,不考慮DB的情況下,吞吐量可以無限橫向擴展;可參考示例項目性能測試用例,單機TPS過萬;
- 11、消息可見: 系統(tǒng)中每一條消息可通過Web界面在線查看,甚至支持編輯消息內(nèi)容和消息狀態(tài);
- 12、消息可追蹤: 支持追蹤每一條消息的執(zhí)行路徑, 便于排查業(yè)務問題;
- 13、消息失敗告警:支持以Topic粒度監(jiān)控消息,存在失敗消息時主動推送告警郵件;默認提供郵件方式失敗告警,同時預留擴展接口,可方面的擴展短信、釘釘?shù)雀婢绞剑?/li>
- 14、容器化:提供官方docker鏡像,并實時更新推送dockerhub,進一步實現(xiàn)產(chǎn)品開箱即用;
官方文檔
技術(shù)交流
評論
圖片
表情
