国产精品吹潮在线播放,日韩一区二区三区在线播放,啊级免费黄片视频,66av视频

網(wǎng)站首頁(yè)
手機(jī)版

java開(kāi)發(fā)中常見(jiàn)中間件 java開(kāi)發(fā)中常見(jiàn)中間件 redis

更新時(shí)間:2024-07-02 18:03:55作者:佚名

java開(kāi)發(fā)中常見(jiàn)中間件 java開(kāi)發(fā)中常見(jiàn)中間件 redis

1.什么是消息中間件

MQ全稱(chēng)為Message Queue,消息隊(duì)列是應(yīng)用程序和應(yīng)用程序之間的通信方法。

為什么使用MQ?

在項(xiàng)目中,可將一些無(wú)需即時(shí)返回且耗時(shí)的操作提取出來(lái),進(jìn)行異步處理,而這種異步處理的方式大大的節(jié)省了服務(wù)器的請(qǐng)求響應(yīng)時(shí)間,從而提高系統(tǒng)吞吐量

2.應(yīng)用場(chǎng)景

2.1 任務(wù)異步處理

將不需要同步處理的并且耗時(shí)長(zhǎng)的操作由消息隊(duì)列通知消息接收方進(jìn)行異步處理。提高了應(yīng)用程序的響應(yīng)時(shí)間。

2.2 應(yīng)用程序解耦合

MQ相當(dāng)于一個(gè)中介,通過(guò)它讓生產(chǎn)者與消費(fèi)者交互,將應(yīng)用程序進(jìn)行解耦合。

2.3 削峰填谷

如某個(gè)系統(tǒng)會(huì)往數(shù)據(jù)庫(kù)寫(xiě)數(shù)據(jù),但是數(shù)據(jù)庫(kù)只能支撐每秒1000左右的并發(fā)寫(xiě)入,并發(fā)量再高就容易宕機(jī)。

在系統(tǒng)低峰期的時(shí)候并發(fā)也就100多個(gè),但在高峰期時(shí)候,并發(fā)量會(huì)突然激增到5000以上,這個(gè)時(shí)候數(shù)據(jù)庫(kù)肯定會(huì)卡死。

這時(shí)候,可以使用MQ,消息會(huì)被MQ保存起來(lái),然后系統(tǒng)就可以按照自己的消費(fèi)能力來(lái)消費(fèi),比如每秒1000個(gè)數(shù)據(jù),慢慢寫(xiě)入數(shù)據(jù)庫(kù),就不會(huì)卡死數(shù)據(jù)庫(kù)了。

但使用了MQ之后,限制消費(fèi)消息的速度為1000,但是這樣一來(lái),高峰期產(chǎn)生的數(shù)據(jù)勢(shì)必會(huì)被積壓在MQ中,高峰就被“削”掉了。

但是因?yàn)橄⒎e壓,在高峰期過(guò)后的一段時(shí)間內(nèi),消費(fèi)消息的速度還是會(huì)維持在1000QPS,直到消費(fèi)完積壓的消息,這就叫做**“填谷”**

3. AMQP 和 JMS

MQ是消息通信的模型;實(shí)現(xiàn)MQ的大致有兩種主流方式:AMQP、JMS。

3.1 AMQP

AMQP 是一種協(xié)議,更準(zhǔn)確地說(shuō)是一種 binary wire-level protocol(鏈接協(xié)議)。與 JMS 的本質(zhì)差別 : AMQP不從API層進(jìn)行限定,而是直接定義網(wǎng)絡(luò)交換的數(shù)據(jù)格式。

3.2 JMS

JMS 即Java消息服務(wù)(JavaMessage Service)應(yīng)用程序接口,是一個(gè)Java平臺(tái)中關(guān)于面向消息中間件(MOM)的API,用于在兩個(gè)應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進(jìn)行異步通信

3.3 AMQP 與 JMS 區(qū)別

JMS 是定義了統(tǒng)一的接口,來(lái)對(duì)消息操作進(jìn)行統(tǒng)一; AMQP是通過(guò)規(guī)定協(xié)議來(lái)統(tǒng)一數(shù)據(jù)交互的格式JMS 限定了必須使用Java語(yǔ)言; AMQP只是協(xié)議,不規(guī)定實(shí)現(xiàn)方式,因此是跨語(yǔ)言的。JMS 規(guī)定了兩種消息模式; AMQP的消息模式更加豐富

4.多種消息中間件

常見(jiàn)的消息隊(duì)列有如下:

ActiveMQ:基于 JMSZeroMQ:基于 C 語(yǔ)言開(kāi)發(fā)RabbitMQ:基于 AMQP 協(xié)議,erlang 語(yǔ)言開(kāi)發(fā),穩(wěn)定性好RocketMQ:基于 JMS,阿里巴巴產(chǎn)品Kafka:類(lèi)似MQ的產(chǎn)品;分布式消息系統(tǒng),高吞吐量

RabbitMQ是由erlang語(yǔ)言開(kāi)發(fā),基于AMQP(Advanced Message Queue 高級(jí)消息隊(duì)列協(xié)議)協(xié)議實(shí)現(xiàn)的消息隊(duì)列,它是一種應(yīng)用程序之間的通信方法,消息隊(duì)列在分布式系統(tǒng)開(kāi)發(fā)中應(yīng)用非常廣泛。

RabbitMQ官方地址:http://www.rabbitmq.com/

RabbitMQ提供了6種模式:

簡(jiǎn)單模式

work模式

Publish/Subscribe 發(fā)布與訂閱模式

Routing 路由模式

Topics 主題模式

RPC 遠(yuǎn)程調(diào)用模式;

官網(wǎng)對(duì)應(yīng)模式介紹:https://www.rabbitmq.com/getstarted.html

來(lái)源:
https://www.cnblogs.com/MoYu-zc/p/15144660.html

本文標(biāo)簽: [db:關(guān)鍵詞]  

為您推薦

java開(kāi)發(fā)中常見(jiàn)中間件 java開(kāi)發(fā)中常見(jiàn)中間件 redis

1.什么是消息中間件MQ全稱(chēng)為Message Queue,消息隊(duì)列是應(yīng)用程序和應(yīng)用程序之間的通信方法。為什么使用MQ?在項(xiàng)目中,可將一些無(wú)需即時(shí)返回且耗時(shí)的操作提取出來(lái),進(jìn)行異步處理,而這種異步處理的

2024-07-02 18:03

php數(shù)組去重函數(shù) php數(shù)組去重方法

php中有時(shí)從數(shù)據(jù)庫(kù)中查詢出來(lái)的記錄有一些相同字段重復(fù)的需要過(guò)濾,該函數(shù)可以起到作用:/*** 二維數(shù)組通過(guò)key去重** @param $array* @param $key** @return a

2024-07-02 18:02

谷歌提交收錄的方法 谷歌收錄提交教程

影響谷歌SEO出效果的因素有很多,今天主要來(lái)談?wù)劯?jìng)爭(zhēng)對(duì)手、高質(zhì)量的外部鏈接、高質(zhì)量的網(wǎng)站內(nèi)容這三個(gè)因素。焦點(diǎn)領(lǐng)動(dòng)的谷歌SEO運(yùn)營(yíng)工程師最常遇到的問(wèn)題之一是“谷歌SEO出效果大概需要多長(zhǎng)時(shí)間?”這也是最

2024-07-02 18:02

阿里云服務(wù)器下載鏡像(阿里云安裝鏡像)

單獨(dú)配置華為云 mirror準(zhǔn)備工作使用前請(qǐng)確保您已安裝JDK及Maven。如果您尚未安裝,可以點(diǎn)擊下面鏈接下載安裝:JDK官網(wǎng)下載地址:https://www.oracle.com/technetw

2024-07-02 18:02

電熱毯可以除濕嗎 電熱毯可以祛濕嗎

電熱毯有什么危害(電熱毯可以除濕嗎)2021-09-18 09:55深圳壹健康冬天天氣過(guò)于寒冷,尤其是睡覺(jué)的時(shí)候百思特網(wǎng),床上必須得暖和,否則人都無(wú)法睡著,因此很多人為了保暖都會(huì)購(gòu)買(mǎi)電熱毯來(lái)使用,但據(jù)

2024-07-02 18:01

jquery獲取input的value值的方法 jquery如何獲取input的value

???此賬號(hào)為華為云開(kāi)發(fā)者社區(qū)官方運(yùn)營(yíng)賬號(hào),提供全面深入的云計(jì)算前景分析、豐富的技術(shù)干貨、程序樣例,分享華為云前沿資訊動(dòng)態(tài)本文分享自華為云社區(qū)《【JQuery框架】超詳細(xì)DOM操作看這一篇就夠了!》,

2024-07-02 18:01