胖咯科技網(wǎng)站建設(shè)百度小說(shuō)風(fēng)云榜
程序員的公眾號(hào):源1024,獲取更多資料,無(wú)加密無(wú)套路!
最近整理了一波電子書籍資料,包含《Effective Java中文版 第2版》《深入JAVA虛擬機(jī)》,《重構(gòu)改善既有代碼設(shè)計(jì)》,《MySQL高性能-第3版》,《Java并發(fā)編程實(shí)戰(zhàn)》等等
獲取方式: 關(guān)注公眾號(hào)并回復(fù) 電子書 領(lǐng)取,更多內(nèi)容持續(xù)奉上
?
RocketMQ是阿里開源的一款非常優(yōu)秀的消息中間件,支持事務(wù)消息、順序消息、批量消息、定時(shí)消息、消息回溯等,天然的支持集群模型、負(fù)載均衡、水平擴(kuò)展能力,億級(jí)別的消息堆積能力。
RocketMQ主要由 Producer、Broker、Consumer 三部分組成,其中Producer 負(fù)責(zé)生產(chǎn)消息,Consumer 負(fù)責(zé)消費(fèi)消息,Broker 負(fù)責(zé)存儲(chǔ)消息。
使用場(chǎng)景:
-
異步通信:RocketMQ 可以在不同的應(yīng)用程序之間進(jìn)行異步通信,從而提高系統(tǒng)的可伸縮性和響應(yīng)速度,減少多個(gè)模塊之間的依賴性。
-
延時(shí)消息:比如處理訂單超時(shí)關(guān)閉功能,30分鐘還沒(méi)支付的訂單就自動(dòng)關(guān)閉。
-
數(shù)據(jù)分發(fā):A系統(tǒng)將消息發(fā)送到RocketMQ隊(duì)列,其他系統(tǒng)如果有需要就去消費(fèi)。
-
應(yīng)用解耦:通過(guò)RocketMQ作為中介,生產(chǎn)方與消費(fèi)方通過(guò)消息進(jìn)行交互,減少模塊之間的耦合性。
-
削峰填谷:RocketMQ 可以用于平滑處理流量峰值,將高并發(fā)請(qǐng)求緩沖并逐漸處理,以防止系統(tǒng)過(guò)載。例如,雙11活動(dòng),秒殺活動(dòng)、搶紅包等,通過(guò)RocketMQ的削峰填谷能力,平穩(wěn)流量峰值,避免系統(tǒng)壓力過(guò)大。
-
順序消息:適用于需要保證多條消息順序處理的場(chǎng)景,例如證券交易、訂單創(chuàng)建、支付、退款等流程,消息有序只限定在同一個(gè)queue中。
-
日志收集:統(tǒng)一收集業(yè)務(wù)日志,消息隊(duì)列作為日志數(shù)據(jù)的中轉(zhuǎn)站。并且,RocketMQ 的流式計(jì)算框架非常適合與大數(shù)據(jù)框架集成,如 Apache Hadoop 和 Flink 等,用于構(gòu)建實(shí)時(shí)數(shù)據(jù)流處理。
?系列文章索引
MyBatis的插件能在哪些地方進(jìn)行攔截?
了解MyBatis的緩存機(jī)制嗎
面試官:談?wù)剬?duì)volatile的理解
Spring中用到了哪些設(shè)計(jì)模式
面試官:說(shuō)一下SQL的執(zhí)行過(guò)程
線程池的工作原理