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