一文帶你認知定時消息發布RocketMQ
摘要:DMS任意時間定時消息能力發布。
DMS是華為雲的分散式消息中間件服務。適用於解決分散式架構中的系統解耦、跨系統跨地域數據流通、分散式事務協調等難題,協助構建優雅的現代化應用架構,提供可兼容 Kafka/RabbitMQ/RocketMQ 開源系統的雲服務。
DMS是一個低延遲、彈性高可靠、高吞吐、動態擴展、便捷多樣的消息中間件服務。
近期,DMS服務正式上線任意時間定時消息特性,帶來了靈活、精確、高性能的消息定時能力支援。
DMS rocketMQ定時消息功能流程圖
為什麼需要定時消息
隨著互聯網技術的蓬勃發展,各公司的業務場景變得越來越紛繁複雜。對於精確度、高並發、高可靠的要求也達到了一個前所未有的高度。
在這些複雜的業務場景中,定時調度場景,儘管有著十分龐大和迫切的需求,卻缺乏一個「完美」的一站式解決方案。
對於定時消息需求稍低的企業會使用一些消息中間件「殘血版」的開源來實現定時調度。有的企業對於定時消息的吞吐量和精確度有著非常高的要求,往往會在消息中間件的基礎上自建 Serverless 定時消息中台。如:使用 Amazon SNS 服務實現的 Serverless 定時器
華為雲 DMS 定時消息能力的優勢
華為雲 DMS 上線的定時消息能力在開源消息中間件和各大雲廠商提供的定時能力中處於領先地位,能夠提供毫秒級精確度、最大長達一年的定時消息能力。對於高度依賴定時消息中台的場景、華為雲 DMS 定時消息能夠支撐萬級吞吐量。後續會上線 Serverless 能力,做到動態伸縮,同時滿足低成本和高性能的訴求。
下面介紹一下華為雲 DMS 定時消息的功能亮點:
- 任意時間:能夠支援 1 年內任意時間的定時消息。
- 高精度:定時精度達到毫秒級(在無堆積情況下)。
- 高性能:接近於普通消息的吞吐量。
- 高可靠:不會丟失定時消息。
- 支援取消:在定時消息未投遞前支援取消。
- 可觀測性:可查詢定時消息。
定時消息最佳實踐
在用戶發起訂單的場景下,需要在一定時間(如 5 分鐘)後自動關閉未支付的訂單。我們需要一個定時機制按時觸發訂單關閉的邏輯。此時正式定時消息發揮作用的時刻:在下單時發送一條定時在 5 分鐘後投遞的定時消息,用它觸發關閉訂單的邏輯。如果用戶支付了訂單,可以將之前的定時消息取消。
此外,對於需要大量任務定時調度的場景,可以基於DMS定時消息能力構建一個定時調度中台。依靠DMS定時消息的高吞吐量,可以實現數十萬任務並發調度。
除此之外,定時調度還能應用於更多其他場景,如定時提醒、等待重試、事件預訂等等。
訂單場景流程圖
未來展望
華為雲已經上線分散式消息服務 RocketMQ 版任意時間定時消息特性。
請點擊使用。
華為雲 DMS 版本正在快速演進中,後續將引入 Serverless 架構,在高可靠高可用基礎上消息服務基礎上,提供動態擴縮容能力,從容應對流量洪峰,在流量低谷時縮容。按需計費,動態管理企業業務成本,達到降本增效的效果。