最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于RabbitMQ的簡單應(yīng)用(詳解)

 更新時間:2017年11月17日 08:41:10   作者:未來有熊  
下面小編就為大家分享一篇基于RabbitMQ的簡單應(yīng)用(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

雖然后臺使用了讀寫分離技術(shù),能夠在一定程度上抗擊高并發(fā),但是如果并發(fā)量特別巨大時,主數(shù)據(jù)庫不能同時處理高并發(fā)的請求,這時數(shù)據(jù)庫容易宕機。

問題:

現(xiàn)在的問題是如何既能保證數(shù)據(jù)庫正常運行,又能實現(xiàn)用戶數(shù)據(jù)的入庫操作?

解決方案:

引入rabbitMQ技術(shù):

說明:

當(dāng)數(shù)據(jù)庫的訪問壓力過載時,這時會將過載以后的數(shù)據(jù)先保存到rabbitMQ中。其中的數(shù)據(jù)結(jié)構(gòu)是隊列的形式,先進先出。這時數(shù)據(jù)庫從隊列中取數(shù)據(jù)執(zhí)行。一直到隊列中的數(shù)據(jù)全部操作完成為止。

RabbitMQ就是消息的中間件。

RabbitMQ介紹:

RabbitMQ性能分析:

1.MSMQ:是微軟的產(chǎn)品 應(yīng)用于.net框架

2.ActiveMQ:是apache的產(chǎn)品 做業(yè)務(wù)用圖廣泛

3.RabbitQM:是愛立信的產(chǎn)品(早期手機生產(chǎn)廠商)基于erlang語言(函數(shù)式編程大數(shù)據(jù) scala語言)

4.ZeroMQ:大數(shù)據(jù)中應(yīng)用廣泛,缺點容易丟失數(shù)據(jù).但是業(yè)務(wù)系統(tǒng)中使用率較少

5.KafkaMQ:大數(shù)據(jù)項目中使用,50萬/秒 現(xiàn)在主流

5.RabbitMQ環(huán)境搭建:

1.配置JDK:

2.固定虛擬機IP地址:

3.連接虛擬機:

編輯文件跳轉(zhuǎn)路徑:

Vim go

Cd /usr/local/src

2.安裝rabbitMQ:

1.新建文件rabbitmq

/usr/local/src/rabbitmq

2.將安裝文件導(dǎo)入

3.安裝rabbitMQ

4.開啟遠程用戶訪問:

將文件復(fù)制到指定目錄下:

cp /usr/share/doc/rabbitmq-server-3.6.1/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

修改新復(fù)制的文件64行

1.將%%去掉

2.將,號去掉

修改為:

5.開啟rabbitMQ:

執(zhí)行命令:

rabbitmq-plugins enable rabbitmq_management

表示啟動成功

6.開放端口15672和5672

iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

訪問rabbitMQ的控制臺

iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

程序連接rabbitMQ的端口

或者關(guān)閉防火墻

7.啟動/停止服務(wù)

service rabbitmq-server start 啟動

service rabbitmq-server stop 停止

service rabbitmq-server restart 重啟

8.遠程登錄:

訪問:

http://192.168.154.137:15672/

用戶名和密碼都是guest

9.視圖解析:

10.建立管理員:

11.構(gòu)建虛擬主機:

11.構(gòu)建虛擬主機:

6.rabbitMQ的工作模式:

1.簡單模式:

p:proverder 生產(chǎn)者

c:consumer 消費者

紅色部分:隊列 先進先出

原理說明:

生產(chǎn)者負責(zé)向隊列中添加消息.消費者負責(zé)消費隊列中的消息.

消費者通過監(jiān)聽器,實時監(jiān)控消息隊列.如果消息隊列中有消息則消費,如果沒有消息 則等待消息.

2.測試代碼:

1.定義Connection

1.1.定義生產(chǎn)者

3.定義消費者:

2.工作模式:

原理說明:

生產(chǎn)者為消息隊列中生產(chǎn)消息,多個消費者爭搶執(zhí)行權(quán)利,誰搶到誰執(zhí)行.

實用場景:秒殺業(yè)務(wù) 搶紅包等

測試代碼:

3.發(fā)布訂閱模式:

x:exchange 交換機

P:表示生產(chǎn)者

C1-2:表示多個消費者

原理說明:

當(dāng)生產(chǎn)者生產(chǎn)消息后,先將消息發(fā)往交換機.交換機再將消息發(fā)往訂閱了當(dāng)前消息的隊列,再次有各個隊列的消費者執(zhí)行.

類似于 廣播

定義消費者::

4.路由模式:

x:表示交換機 type=direct 表示路由

路由模式中,需要定義路由key

原理說明:

1.當(dāng)生產(chǎn)者發(fā)布消息時,會定義指定的路由key 例如 key:error

2.這時交換機會根據(jù)路由key發(fā)往滿足條件的隊列中.如果隊列中沒有符合條件的路由key將不能執(zhí)行該消息.

5.主題模式:

Type:topic 表示主題模式

  • * (star) can substitute for exactly one word.
  • # (hash) can substitute for zero or more words.
  • 有坑 效果一樣

7.訂單實現(xiàn)RabbitMQ

1.引入配置文件:

classpath:jdbc.propertiesclasspath:env.properties /hp月n、 口山閏廷比二曰站叩四瞿二月當(dāng)“習(xí) classpath:rabbitmq.properties IUe> /value>" v:shapes="圖片_x0020_42">

2.引入生產(chǎn)者

1.引入配置文件

2.定義發(fā)送端

3.發(fā)送端代碼

通過代碼相rabbitmq中發(fā)送數(shù)據(jù)

4.定義接收端:

引入配置文件

5.定義接收端:

6.測試成功

以上這篇基于RabbitMQ的簡單應(yīng)用(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 開發(fā)工具EesyCode使用方法解析

    開發(fā)工具EesyCode使用方法解析

    這篇文章主要介紹了開發(fā)工具EesyCode使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • spring webflux自定義netty 參數(shù)解析

    spring webflux自定義netty 參數(shù)解析

    這篇文章主要介紹了spring webflux自定義netty 參數(shù)解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • spring聲明式事務(wù)解析

    spring聲明式事務(wù)解析

    這篇文章主要為大家詳細介紹了spring聲明式事務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Java 生成圖片驗證碼3種方法(字母、加減乘除、中文)

    Java 生成圖片驗證碼3種方法(字母、加減乘除、中文)

    這篇文章主要介紹了Java 生成圖片驗證碼3種方法(字母、加減乘除、中文),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • SpringBoot整合Redis實現(xiàn)高并發(fā)數(shù)據(jù)緩存的示例講解

    SpringBoot整合Redis實現(xiàn)高并發(fā)數(shù)據(jù)緩存的示例講解

    這篇文章主要介紹了SpringBoot整合Redis實現(xiàn)高并發(fā)數(shù)據(jù)緩存,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Java在Word中插入上標和下標的實現(xiàn)方法

    Java在Word中插入上標和下標的實現(xiàn)方法

    在某些情況下,你可能需要在Microsoft?Word中插入上標和下標。例如,當(dāng)你正在創(chuàng)建一個涉及科學(xué)公式的學(xué)術(shù)文件時,在這篇文章中,你將學(xué)習(xí)如何使用Spire.Doc?for?Java庫在Word文檔中插入上標和下標,需要的朋友可以參考下
    2022-10-10
  • 淺析java程序中hibernate的應(yīng)用總結(jié)

    淺析java程序中hibernate的應(yīng)用總結(jié)

    hibernate可以理解為是一個中間件它負責(zé)把java程序的sql語句接收過來發(fā)送到數(shù)據(jù)庫,而數(shù)據(jù)庫返回來的信息hibernate接收之后直接生成一個對象傳給java
    2013-07-07
  • Spring Boot和Hazelcast使用詳解

    Spring Boot和Hazelcast使用詳解

    這篇文章主要介紹了Spring Boot和Hazelcast使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Spring如何將bean添加到容器中

    Spring如何將bean添加到容器中

    這篇文章主要介紹了Spring如何將bean添加到容器中,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • 關(guān)于SpringBoot整合redis使用Lettuce客戶端超時問題

    關(guān)于SpringBoot整合redis使用Lettuce客戶端超時問題

    使用到Lettuce連接redis,一段時間后不操作,再去操作redis,會報連接超時錯誤,在其重連后又可使用,糾結(jié)是什么原因?qū)е碌哪?,下面小編給大家?guī)砹薙pringBoot整合redis使用Lettuce客戶端超時問題及解決方案,一起看看吧
    2021-08-08

最新評論

兰西县| 奇台县| 姚安县| 尼玛县| 长沙市| 河东区| 玉屏| 延庆县| 阿鲁科尔沁旗| 鄂温| 桐柏县| 甘肃省| 青河县| 红桥区| 彭水| 澄江县| 阿克苏市| 正镶白旗| 南漳县| 界首市| 准格尔旗| 嘉祥县| 大关县| 临澧县| 远安县| 阿克苏市| 南江县| 合作市| 双城市| 房产| 淮阳县| 建宁县| 青神县| 苍南县| 剑阁县| 镇坪县| 许昌市| 汽车| 汾西县| 仁寿县| 兴文县|