亚洲情人网-亚洲情人-亚洲欧洲综合-亚洲欧洲自拍-欧美专区亚洲

鏡像模式(盈高準入鏡像模式)

  • 生活
  • 2023-04-26 12:16
概述

今天主要分享RabbitMQ常見的4種集群架構(gòu),有待改進,大家一起看看吧!

01主備模式

也稱為Warren(兔子窩)模式。實現(xiàn)rabbitMQ的高可用集群,一般在并發(fā)和數(shù)據(jù)量不高的情況下,這種模式非常的好用且簡單。

也就是一個主/備方案,主節(jié)點提供讀寫,備用節(jié)點不提供讀寫。如果主節(jié)點掛了,就切換到備用節(jié)點,原來的備用節(jié)點升級為主節(jié)點提供讀寫服務,當原來的主節(jié)點恢復運行后,原來的主節(jié)點就變成備用節(jié)點,和activeMQ利用zookeeper做主/備一樣,也可以一主多備。

HaProxy配置:

listenrabbitmq_clusterbind0.0.0.0:567#配置tcp模式modetcp#簡單的輪詢balanceroundrobin#主節(jié)點roundrobin隨機server你的76機器hostname192.168.11.76:5672checkinter5000rise2fall2server你的77機器hostname192.168.11.77:5672backupcheckinter5000rise2fall2#備用節(jié)點

注意了,上面的rabbitMQ集群節(jié)點配置#inter每隔5秒對mq集群做健康檢查,2次正確證明服務可用,2次失敗證明服務器不可用,并且配置主備機制

02***模式

***模式可以實現(xiàn)雙活的一種模式,簡稱shovel模式,所謂的shovel就是把消息進行不同數(shù)據(jù)中心的復制工作,可以跨地域的讓兩個MQ集群互聯(lián),遠距離通信和復制。

Shovel就是我們可以把消息進行數(shù)據(jù)中心的復制工作,可以跨地域的讓兩個MQ集群互聯(lián)。

***模式

如圖所示,有兩個異地的MQ集群(可以是更多的集群),當用戶在地區(qū)1這里下單了,系統(tǒng)發(fā)消息到1區(qū)的MQ服務器,發(fā)現(xiàn)MQ服務已超過設定的閾值,負載過高,這條消息就會被轉(zhuǎn)到地區(qū)2的MQ服務器上,由2區(qū)的去執(zhí)行后面的業(yè)務邏輯,相當于分攤我們的服務壓力。

在使用了shovel插件后,模型變成了近端同步確認,遠端異步確認的方式,大大提高了訂單確認速度,并且還能保證可靠性。

shovel模式拓撲圖

如上圖所示,當我們的消息到達exchange,它會判斷當前的負載情況以及設定的閾值,如果負載不高就把消息放到我們正常的warehouse_goleta隊列中,如果負載過高了,就會放到backup_orders隊列中。backup_orders隊列通過shovel插件與另外的MQ集群進行同步數(shù)據(jù),把消息發(fā)到第二個MQ集群上。

不過這是rabbitMQ比較早期的架構(gòu)模型了,現(xiàn)在很少使用了。

03鏡像模式

非常經(jīng)典的mirror鏡像模式,保證100%數(shù)據(jù)不丟失。在實際工作中也是用得最多的,并且實現(xiàn)非常的簡單,一般互聯(lián)網(wǎng)大廠都會構(gòu)建這種鏡像集群模式。

mirror鏡像隊列,目的是為了保證rabbitMQ數(shù)據(jù)的高可靠性解決方案,主要就是實現(xiàn)數(shù)據(jù)的同步,一般來講是2-3個節(jié)點實現(xiàn)數(shù)據(jù)同步。對于100%數(shù)據(jù)可靠性解決方案,一般是采用3個節(jié)點。

集群架構(gòu)如下

mirror鏡像隊列

如上圖所示,用KeepAlived做了HA-Proxy的高可用,然后有3個節(jié)點的MQ服務,消息發(fā)送到主節(jié)點上,主節(jié)點通過mirror隊列把數(shù)據(jù)同步到其他的MQ節(jié)點,這樣來實現(xiàn)其高可靠。

04多活模式

這個也是實現(xiàn)異地數(shù)據(jù)復制的主流模式,因為shovel模式配置比較復雜,所以一般來說,實現(xiàn)異地集群的都是采用這種雙活或者多活模型來實現(xiàn)的。這種模式需要依賴rabbitMQ的federation插件,可以實現(xiàn)持續(xù)的,可靠的AMQP數(shù)據(jù)通信,多活模式在實際配置與應用非常的簡單。

rabbitMQ部署架構(gòu)采用雙中心模式(多中心),那么在兩套(或多套)數(shù)據(jù)中心各部署一套rabbitMQ集群,各中心的rabbitMQ服務除了需要為業(yè)務提供正常的消息服務外,中心之間還需要實現(xiàn)部分隊列消息共享。

多活集群架構(gòu)如下:

federation插件是一個不需要構(gòu)建cluster,而在brokers之間傳輸消息的高性能插件,federation插件可以在brokers或者cluster之間傳輸消息,連接的雙方可以使用不同的users和virtualhosts,雙方也可以使用不同版本的rabbitMQ和erlang。federation插件使用AMQP協(xié)議通信,可以接受不連續(xù)的傳輸。federation不是建立在集群上的,而是建立在單個節(jié)點上的,如圖上黃色的rabbitnode3可以與綠色的node1、node2、node3中的任意一個利用federation插件進行數(shù)據(jù)同步。

如上圖所示,federationexchanges可以看成downstream從upstream主動拉取消息,但是并不是拉取所有消息,必須是在downstream上已經(jīng)明確定義Bingdings關系的exchange,也就是有實際的物理queue來接收消息,才會從upstream拉取消息到downstream。

它使用AMQP協(xié)議實現(xiàn)代理間通信,downstream會將綁定關系組合在一起,綁定/解綁命令將發(fā)送到upstream交換機。因此,federationexchange只接收具有訂閱的消息。

其實四種模式建議大家重點掌握第三種,鏡像模式屬于標準的集群鏡像模式。其他幾種模式都存在出現(xiàn)臟數(shù)據(jù)問題的可能,后面會分享更多devops和DBA方面內(nèi)容,感興趣的朋友可以關注下!

猜你喜歡

主站蜘蛛池模板: 激情五月婷婷色 | 春色视频免费版高清在线观看 | 国产精品久久久久久久久久98 | 激情文学在线视频 | 亚洲天堂男人 | 伊在人亚洲香蕉精品区麻豆 | 国产成人精品男人的天堂下载 | a级毛片在线免费 | 亚洲最大成人综合网 | 亚洲国产精品乱码一区二区三区 | 欧美大片天天免费看视频 | 免费国产黄网站在线观看视频 | 久久网精品视频 | 精品视频在线一区 | 男人天堂资源 | 国内精品久久久久影 | 欧美亚洲国产一区 | 日本欧美在线播放 | 色视频在线观看 | 国产精品网址在线观看你懂的 | 亚洲欧美在线一区二区 | 亚洲国产欧美日韩一区二区三区 | 欧美综合一区二区三区 | 亚洲制服一区 | 中文字幕在线观看免费视频 | 亚洲午夜剧场 | 婷婷综合在线观看丁香 | 国产成人一区二区三区视频免费蜜 | 色男人的天堂 | 久久精品一| 亚洲视频中文字幕在线 | 亚洲免费高清视频 | 国产高清小视频 | 亚洲综合综合在线 | 国产满18av精品免费观看视频 | 青草久久久| 亚洲精品在线播放视频 | 天堂网色| 国色天香一区三区四区小说 | 亚洲欧美中文日韩二区一区 | 国产精品麻豆网站 |