分佈式消息隊列XXL-MQ

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匹配才允許通訊;


分享到:


相關文章: