91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫服務activemq在災備雙活建設中有什么作用

發布時間:2021-11-11 11:31:39 來源:億速云 閱讀:181 作者:iii 欄目:關系型數據庫

這篇文章主要講解了“數據庫服務activemq在災備雙活建設中有什么作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫服務activemq在災備雙活建設中有什么作用”吧!

概述

activemq是業界非常流行的、功能強大的、開源消息中間件。以快速、支持多種跨語言客戶端和協議著稱;完全支持JMS 1.1 and J2EE 1.4。在各個行業中有大量的應用案例。

由于activemq承擔著消息服務的重要角色,在這篇文章中我們重點講述在災備雙活建設中activemq設計、規劃、部署。

目標

災備雙活建設最完美的架構設計:在同城、異地2個數據中心,在最極端情況下,例如單數據中心垮掉情況下,保證消息零丟失,支持7*24服務要求。

需求描述

1.1 機房故障

1) 現象描述

消息隊列中間件部署在A、B兩個不同的機房中,客戶端根據負載的策略轉發到對應機房的消息中間件,其中A或者B機房因為斷電或者災難等因素出現故障,無法繼續提供服務。此時僅有一個機房正常。

2) 現象圖示

數據庫服務activemq在災備雙活建設中有什么作用

3) 服務影響

正常情況下,對于客戶端的連接平均分布在兩個機房中,出現單個機房故障后,連接在故障機房中的連接會斷開,正在執行未提交的事務將會回滾,對于發起的新連接不受任何影響,依然可以通過配置的負載策略訪問正常機房中的消息中間件服務。

4) 故障恢復

當機房恢復正常后,啟動消息中間件服務,此時,只要主機、網絡恢復正常,消息中間件服務就可以啟動成功。這時,AB機房按照負載策略繼續處理連接,最終使得每個機房的中間件連接數無限接近。

1.2 服務器DOWN

1) 現象描述

在運行的消息中間件集群架構中,存在N個主機,其中任意N-2個主機DOWN機,不具備服務提供能力,僅剩余大于1個主機存活可以提供服務的場景。

2) 現象圖示

數據庫服務activemq在災備雙活建設中有什么作用

3) 服務影響

主機DOWN掉后,已經連接在該主機消息中間件上的連接會斷開,對應的事務會回滾,新的連接不受到影響。

4) 故障恢復

當主機故障處理后,啟動故障主機,并啟動消息中間件服務。根據負載均衡算法,客戶端連接會重新分配到該主機上的節點。

1.3 消息中間件節點崩潰

1) 現象描述

在運行的消息中間件集群架構中,存在N個節點,其中任意N-2個節點崩潰,不具備服務提供能力,僅剩余大于1個節點存活可以提供服務的場景。

2) 現象圖示

數據庫服務activemq在災備雙活建設中有什么作用

3) 服務影響

當消息中間件節點崩潰后,已經連接在該主機消息中間件上的連接會斷開,對應的事務會回滾,新的連接不受到影響。

4) 故障恢復

當消息隊列節點故障處理后,啟動消息中間件服務。根據負載均衡算法,客戶端連接會重新分配到該節點。

架構設計

1.1 架構設計要點

●、采用activemq的何種架構來實現上述需求?

采用主從+Broker-Cluster方式來實現,主從架構實現了HA(高可用)功能,借用zookeeper的選舉投票功能,保證“過半即可用”,所以推薦的HA架構的節點數為單數,至少3個節點,任何時候垮掉一個節點都不影響正常使用。

同時結合Broker-Cluster,Broker-Cluster的部署方式可以解決負載均衡和分布式問題,因為單一主從方式無法解決負載均衡的問題。

●、如何保證未消費消息在各個節點間的同步?

采用leveldb(LevelDB是Google開源的持久化KV單機數據庫,具有很高的隨機寫,順序讀/寫性能)實現各個節點間的同步寫,保證數據在同一個Broker-Cluster組下復制,以3個節點為例,同一條堆積消息,在3個節點保持同步,在最極端情況下,即使2個節點的數據文件丟失,也能防止數據丟失。

●、如何保證在災難情況下,消息服務仍然可以正常提供服務?例如考慮最極端情況下,單邊數據中心宕機?

采用2套主從、2套Broker-Cluster,并且保證2個數據中心各包含一套主從的2個節點,如下圖所示,cluster1的2個節點在B中心,cluster2的2個節點在A中心,即使A、B整個數據中心發生災難,都不影響jms服務正常運行。

●、保證在各種災難場景都實現了7*24和消息零丟失嗎?

是的,只要保證一個cluster下的2個節點可用的情況下,不管在任何一種組合下,jms服務都是可用的。

●、客戶端如何來調用集群的jms地址

connectionFactory = new ActiveMQConnectionFactory(

ActiveMQConnection.DEFAULT_USER,

ActiveMQConnection.DEFAULT_PASSWORD,

                    "failover:(tcp://192.168.40.140:61616,tcp://192.168.40.140:61617,tcp://192.168.40.141:61619,tcp://192.168.40.141:61620,tcp://192.168.40.141:61621,tcp://192.168.40.140:61618)");

如上例子,activemq根據隨機策略,調用任一可用的節點

1.2 架構圖示

●、架構示例圖如下:

數據庫服務activemq在災備雙活建設中有什么作用

◆、哪一個節點是master,沒有要求,那個先啟動那個就可能成為master。

◆、master節點是當前提供服務的節點。

感謝各位的閱讀,以上就是“數據庫服務activemq在災備雙活建設中有什么作用”的內容了,經過本文的學習后,相信大家對數據庫服務activemq在災備雙活建設中有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤山县| 崇信县| 江安县| 枞阳县| 昭觉县| 临澧县| 扎兰屯市| 乡城县| 西乌珠穆沁旗| 嘉义县| 安陆市| 延安市| 肇源县| 海南省| 安多县| 壶关县| 淳安县| 荔浦县| 万宁市| 日喀则市| 青河县| 黄山市| 滨州市| 桑植县| 界首市| 阿拉善左旗| 潮州市| 广南县| 东山县| 连山| 墨竹工卡县| 德阳市| 南京市| 浑源县| 巍山| 黎川县| 乌拉特前旗| 琼结县| 孟州市| 峨眉山市| 明光市|