日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rabbitmq 集群数据存储与单点故障

發布時間:2025/4/5 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rabbitmq 集群数据存储与单点故障 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

rabbitmq每個節點記錄四類信息:交換機、隊列、綁定、vhost元數據。

集群中的信息存儲

在rabbitmq2.6.0之前沒有鏡像隊列,數據存儲情況為:

隊列所屬節點保存隊列全部信息(元數據、狀態、內容),其他節點擁有隊列元數據;所有節點保存exchange、bundling信息。好處有兩點:

? ? 1.節約存儲空間,每個節點都有相同信息的拷貝,意味著磁盤空間成倍占用;

? ? 2.提升性能,數據在節點間同步占用網絡資源,如果是持久化狀態,又會有大量I/O;

正常情況的工作原理:

集群中有三個節點:rabbit、hare、hare1,隊列聲明在hare節點,向rabbit節點發消息,消息會轉發到hare節點,消費者連接hare1節點,則從hare節點讀取數據。

異常情況1(發送過程中故障):

向rabbit節點發送5條消息,第一條發送成功后,關掉hare節點

2017-11-16 12:05:07,015 [http-bio-8080-exec-1] [org.springframework.amqp.rabbit.core.RabbitTemplate]-[DEBUG] Publishing message (Body:'< publishmessage 內容為:[ Thu Nov 16 12:05:07 CST 2017 ]>' MessageProperties [headers={}, contentType=text/plain, contentEncoding=UTF-8, contentLength=62, deliveryMode=PERSISTENT, priority=0, deliveryTag=0])on exchange [AMC_TMP_EXCHANGE], routingKey = [cluster.send]

控制臺顯示正常發送,實際上后面4條消息已經丟失

localhost:sbin zcjlq$ ./rabbitmqctl -n hare stop_app Stopping rabbit application on node hare@localhost localhost:sbin zcjlq$ ./rabbitmqctl -n rabbit -p zcjlq list_queues Listing queues AMC_TMP_QUEUE

hare節點重啟,只有第一條消息

localhost:sbin zcjlq$ ./rabbitmqctl -n hare start_app Starting node hare@localhost localhost:sbin zcjlq$ ./rabbitmqctl -n rabbit -p zcjlq list_queues Listing queues AMC_TMP_QUEUE 1

拓展:

如果使用publisher confirm機制,在回調函數RabbitTemplate.ConfirmCallback,你將拿到5個ack,RabbitTemplate.ReturnCallback不會被回調。


異常情況2(發送完畢故障):

假如我們連上任意節點,發送4條消息,先不消費,各個節點都能查到消息。

下面停掉隊列所屬節點hare

localhost:sbin zcjlq$ ./rabbitmqctl -n rabbit -p zcjlq list_queues Listing queues AMC_TMP_QUEUE 4 localhost:sbin zcjlq$ ./rabbitmqctl -n hare1 -p zcjlq list_queues Listing queues AMC_TMP_QUEUE 4 localhost:sbin zcjlq$ ./rabbitmqctl -n hare stop_app Stopping rabbit application on node hare@localhost localhost:sbin zcjlq$ ./rabbitmqctl -n hare1 -p zcjlq list_queues Listing queues AMC_TMP_QUEUE localhost:sbin zcjlq$ ./rabbitmqctl -n rabbit -p zcjlq list_queues Listing queues AMC_TMP_QUEUE localhost:sbin zcjlq$ ./rabbitmqctl -n hare start_app Starting node hare@localhost localhost:sbin zcjlq$ ./rabbitmqctl -n rabbit -p zcjlq list_queues Listing queues AMC_TMP_QUEUE 4 localhost:sbin zcjlq$ ./rabbitmqctl -n hare1 -p zcjlq list_queues Listing queues AMC_TMP_QUEUE 4

我們發現:停用hare節點后,在另外兩個節點查不到消息,hare節點重啟后,三個節點都能查到消息。

說明:本測試在單機上啟動三個節點(單機集群搭建見后續文章)

rabbitmqctl -n參數指定節點名稱,-p指定vhost名稱,start_app啟動節點,stop_app關閉節點,

list_queues查看隊列列表和待消費消息。

異常情況3(故障期間重新聲明隊列):

在恢復hare節點前,我們嘗試通過其他節點重新創建隊列。出現以下錯誤

Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - home node 'hare@localhost' of durable queue 'AMC_TMP_QUEUE' in vhost 'zcjlq' is down or inaccessible, class-id=50, method-id=10)

?

節點類型

集群中的節點有兩個類型:磁盤節點、內存節點。內存節點(ram)將所有的隊列、交換器、綁定、用戶、權限、vhost的元數據定義都僅存儲于內存中。磁盤節點(disc)將元數據存儲在磁盤中。

是磁盤節點還是內存節點?

在集群中聲明隊列、交換器、綁定的時候,其他節點會得到元數據的同步,如果集群中全都是磁盤節點,那么你需要等到所有的節點都磁盤I/O后才完成工作,內存節點將會更快。

rabbitmq要求集群中至少有一個磁盤節點。磁盤節點離開集群時,集群還可以進行部分工作,創建隊列、創建交換機、創建綁定、添加用戶、更改權限、添加或刪除集群節點將不能使用。原理的磁盤節點重啟后,集群可以正常工作。我們想要更安全一點:原磁盤節點重啟前,為讓集群正常工作,這時候可以考慮設置兩個集群節點,當其中一個磁盤節點離開時,它會將該變更通知到至少一個磁盤節點。

?

轉載于:https://my.oschina.net/zcjlq/blog/1574455

總結

以上是生活随笔為你收集整理的rabbitmq 集群数据存储与单点故障的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月婷影院 | 日韩黄色在线播放 | 加勒比在线一区 | 亚洲免费a视频 | 一本到在线 | 黄色一极视频 | 四虎av网站 | 日韩毛片高清在线播放 | 两性视频久久 | 亚洲天堂影视 | 影音先锋成人网 | 99久久人妻精品免费二区 | 不卡的av网站| 99久久久久成人国产免费 | 曰本无码人妻丰满熟妇啪啪 | 国产又大又黑又粗免费视频 | 91大神一区二区 | 久久精精品久久久久噜噜 | 视频一区二区在线观看 | 97超碰免费 | 日本涩涩网站 | 亚洲综合性 | 91在线观看免费高清 | 人妻丝袜一区二区三区 | 夜色一区二区三区 | 亚洲午夜精品一区二区三区 | 欧美成人三级在线视频 | 牲欲强的熟妇农村老妇女视频 | 国产精品久久久久久免费播放 | 美女极度色诱图片www视频 | 成年人网站在线观看视频 | 久久精品亚洲一区二区 | 亚洲国产精品无码久久久久高潮 | 性开放淫合集 | 国产精品宾馆在线精品酒店 | 婷婷五月综合久久中文字幕 | 国产极品美女高潮无套嗷嗷叫酒店 | 精品人妻无码一区二区三 | 男受被做哭激烈娇喘gv视频 | 爱情岛论坛自拍亚洲品质极速最新章 | 91色视频在线 | 亚洲视频中文 | 国产精品高潮呻吟久久aⅴ码 | 四虎av在线 | 五月天狠狠干 | 黄色大片免费看 | 男人天堂视频在线 | 都市激情综合 | 久久久久久久久久av | 天天干天天色综合 | 97人妻人人揉人人躁人人 | 最新的av网站| 琪琪色av | 亚洲不卡在线播放 | 欧美一区二区三区久久妖精 | 亚洲天天综合网 | 色婷婷九月 | 久久精品电影 | 黄色aaa毛片 | 欧美尹人 | 日韩不卡视频一区二区 | 成人交性视频免费看 | 他趴在我两腿中间添得好爽在线看 | 成年人免费看视频 | 精品国内自产拍在线观看视频 | 久热中文 | 黑人导航| 欧美视频在线一区二区三区 | 日韩成人不卡 | 天天干天天综合 | 中文字幕第35页 | 免费婷婷| 中文字幕av解说 | 国产性生活视频 | 国产精品久久精品 | 欧美久久影院 | 九九精品在线视频 | 亚洲二级片| 日韩18p | 啪啪免费| 久久久久看片 | 日本少妇一区二区 | 91黄色片| 国产精品熟女久久久久久 | 久久精品视频免费 | 国产超碰91 | 人妻av一区二区三区 | 91色漫| 噼里啪啦国语电影 | 国产91熟女高潮一区二区 | 亚洲同性gay激情无套 | 久久综合久 | 国产呦小j女精品视频 | 91久久精 | 美女操出白浆 | 人善交videos欧美3d动漫 | 成人啪啪18免费游戏链接 | 亚洲无在线观看 | 国产精品99精品无码视 |