您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

03 redis消息訂閱與發布Java(網易傳媒技術團隊:消息中間件實現延遲隊列的應用與實踐)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-27 07:01:13【】9人已围观

简介體引用3)缺點:a、實現復雜,本身不支持b、完全基于內存,延遲時間長浪費內存資源6、消息隊列對比1、公開課延遲隊列技術選型1)業務場景:關閉超時未支付訂單、限時優惠活動、拼團2)性能要求:訂單、活動、

體引用

3)缺點:

a、實現復雜,本身不支持

b、完全基于內存,延遲時間長浪費內存資源

6、消息隊列對比

1、公開課延遲隊列技術選型

1)業務場景:關閉超時未支付訂單、限時優惠活動、拼團

2)性能要求:訂單、活動、拼團 數據量可控,上述MQ均能滿足要求

3)可靠性:使用ActiveMQ、RabbitMQ、RocketMQ作為延遲隊列更普遍

4)可用性:ActiveMQ、RocketMQ自身支持延遲隊列功能,且目前公開課業務中使用的中間件為ActiveMQ和Kafka

5)延遲時間靈活:活動的開始和結束時間比較靈活,而RocketMQ時間粒度較粗,Kafka會依賴時間格有精度缺失

結論: 最終選擇ActiveMQ來作為延遲隊列

2、業務場景:關閉未支付訂單

1)關閉買粉絲未支付訂單

2)關閉IOS未支付訂單

3、ActiveMQ使用方式

1)activemq.xml中支持調度任務

2)發送消息時,設置message的延遲屬性

其中:

a、延遲處理

AMQ_SCHEDULED_DELAY:設置多長時間后,投遞給消費者(毫秒)

b、重復投遞

AMQ_SCHEDULED_PERIOD:重復投遞時間間隔(毫秒)

AMQ_SCHEDULED_REPEAT:重復投遞次數

c、指定調度計劃

AMQ_SCHEDULED_CRON:買粉絲rn正則表達式

4、公開課使用中進行的優化

1)可靠性:針對實際投遞時間可能翻倍的問題,結合ActiveMQ的重復投遞,在消費者邏輯中做冪等處理來保證延遲時間的準確性

2)可追溯性:延遲消息及消費情況做數據庫冗余存儲

3)易用性:業務上定義好延遲枚舉類型,直接使用JmsDelayTemplate發送,無需關心數據備份和參數等細節

1、無論是基于死信隊列還是基于數據先存儲后投遞,本質上都是將延遲待發送的消息數據與正常訂閱的隊列分開存儲,從而降低耦合度

2、無論是檢查隊頭消息TTL還是調度存儲的延遲數據,本質上都是通過定時任務來完成的,但是定時任務的觸發策略以及延遲數據的存儲方式決定了不同中間件之間的性能優劣

張浩,2018年加入網易傳媒,高級Java開發工程師,目前在網易公開課主要做支付財務體系、版本迭代相關的工作。

java框架有哪些常用框架

十大常用框架:

一、SpringMVC

二、Spring

三、Mybatis

四、Dubbo

五、Maven

六、RabbitMQ

七、Log4j

八、Ehcache

九、Redis

十、Shiro

很赞哦!(4148)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:河南开封龙亭区

工作室:小组

Email:[email protected]