国产chinesehd精品酒店,邱淑贞aa极毛片,国产在线色视频,玖玖爱zh综合伊人久久

java開發(fā)中常見中間件 java開發(fā)中常見中間件 redis

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

java開發(fā)中常見中間件 java開發(fā)中常見中間件 redis

1.什么是消息中間件

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

為什么使用MQ?

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

2.應(yīng)用場景

2.1 任務(wù)異步處理

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

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

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

2.3 削峰填谷

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

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

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

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

但是因為消息積壓,在高峰期過后的一段時間內(nèi),消費消息的速度還是會維持在1000QPS,直到消費完積壓的消息,這就叫做**“填谷”**

3. AMQP 和 JMS

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

3.1 AMQP

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

3.2 JMS

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

3.3 AMQP 與 JMS 區(qū)別

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

4.多種消息中間件

常見的消息隊列有如下:

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

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

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

RabbitMQ提供了6種模式:

簡單模式

work模式

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

Routing 路由模式

Topics 主題模式

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

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

來源:
https://www.cnblogs.com/MoYu-zc/p/15144660.html

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

為您推薦

java開發(fā)中常見中間件 java開發(fā)中常見中間件 redis

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

2024-07-02 18:03

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

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

2024-07-02 18:02

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

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

2024-07-02 18:02

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

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

2024-07-02 18:02

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

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

2024-07-02 18:01

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

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

2024-07-02 18:01