rabbitmq鏡像集群原理 一道真實的阿里面試題:如何保證消息隊列的高可用性?
一道真實的阿里面試題:如何保證消息隊列的高可用性?如果有人詢問您的MQ知識,那么高可用性是必須的。如前一節(jié)課所述,MQ會導(dǎo)致系統(tǒng)可用性的降低。接下來您需要做的是詢問一些關(guān)于MQ缺點的問題。如果您愚蠢地
一道真實的阿里面試題:如何保證消息隊列的高可用性?
如果有人詢問您的MQ知識,那么高可用性是必須的。如前一節(jié)課所述,MQ會導(dǎo)致系統(tǒng)可用性的降低。接下來您需要做的是詢問一些關(guān)于MQ缺點的問題。
如果您愚蠢地使用MQ,并且從未考慮過各種問題,那么您將擁有一個杯子。面試官對你的感覺是,他只會不假思索地使用一些簡單的技巧,不會馬上給你留下好印象。如果招到這樣的學(xué)生,工資不到兩萬的普通小弟還可以,但工資兩萬的高級工就慘了,讓我們設(shè)計一個制度,里面肯定有很多漏洞。如果發(fā)生事故,公司將蒙受損失,團(tuán)隊將共同承擔(dān)責(zé)任。
這是一個好問題,因為我不能問你如何保證卡夫卡的高可用性?如何保證ActiveMQ的高可用性?如果面試官這樣問,似乎他很窮。人們可以使用拉比MQ,但他從未使用過卡夫卡。你為什么上來問卡夫卡?這不是一場表演。
所以高水平的面試官問如何保證MQ的高可用性?通過這種方式,您可以告訴我們您對MQ的高可用性的理解。
rabbitmq的高可用性
rabbitmq具有代表性,因為它基于主從(非分布式)高可用性。我們以rabbitmq為例來說明如何實現(xiàn)第一個MQ的高可用性。
Rabbitmq有三種模式:獨立模式、公共群集模式和鏡像群集模式。
獨立模式
獨立模式是演示級別。一般來說,您從本地開始播放,沒有人使用獨立模式進(jìn)行生產(chǎn)。
普通群集模式(無高可用性)
普通群集模式,這意味著在多臺機(jī)器上啟動多個rabbitmq實例,每臺機(jī)器一個。您創(chuàng)建的隊列只會放置在一個rabbitmq實例上,但是每個實例都會同步隊列的元數(shù)據(jù)(元數(shù)據(jù)可以看作是隊列的一些配置信息,通過元數(shù)據(jù)可以找到隊列的實例)。當(dāng)您使用時,實際上,如果您連接到另一個實例,該實例將從隊列實例中提取數(shù)據(jù)。