數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比碭山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式碭山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務覆蓋碭山地區(qū)。費用合理售后完善,十余年實體公司更值得信賴。

概述

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

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

目標

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

需求描述

1.1 機房故障

1) 現(xiàn)象描述

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

2) 現(xiàn)象圖示

數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用

3) 服務影響

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

4) 故障恢復

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

1.2 服務器DOWN

1) 現(xiàn)象描述

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

2) 現(xiàn)象圖示

數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用

3) 服務影響

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

4) 故障恢復

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

1.3 消息中間件節(jié)點崩潰

1) 現(xiàn)象描述

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

2) 現(xiàn)象圖示

數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用

3) 服務影響

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

4) 故障恢復

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

架構(gòu)設(shè)計

1.1 架構(gòu)設(shè)計要點

●、采用activemq的何種架構(gòu)來實現(xiàn)上述需求?

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

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

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

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

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

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

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

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

●、客戶端如何來調(diào)用集群的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根據(jù)隨機策略,調(diào)用任一可用的節(jié)點

1.2 架構(gòu)圖示

●、架構(gòu)示例圖如下:

數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用

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

◆、master節(jié)點是當前提供服務的節(jié)點。

感謝各位的閱讀,以上就是“數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

分享題目:數(shù)據(jù)庫服務activemq在災備雙活建設(shè)中有什么作用-創(chuàng)新互聯(lián)
鏈接分享:http://muchs.cn/article14/coshge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司商城網(wǎng)站、動態(tài)網(wǎng)站、響應式網(wǎng)站、面包屑導航、云服務器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)