成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

阿里消息隊(duì)列rocketmq 一道真實(shí)的阿里面試題:如何保證消息隊(duì)列的高可用性?

一道真實(shí)的阿里面試題:如何保證消息隊(duì)列的高可用性?如果有人詢問您的MQ知識,那么高可用性是必須的。如前一節(jié)課所述,MQ會導(dǎo)致系統(tǒng)可用性的降低。因此,只要您使用MQ,下一個(gè)關(guān)鍵點(diǎn)就是如何解決MQ的缺點(diǎn)。

一道真實(shí)的阿里面試題:如何保證消息隊(duì)列的高可用性?

如果有人詢問您的MQ知識,那么高可用性是必須的。如前一節(jié)課所述,MQ會導(dǎo)致系統(tǒng)可用性的降低。因此,只要您使用MQ,下一個(gè)關(guān)鍵點(diǎn)就是如何解決MQ的缺點(diǎn)。

如果您愚蠢地使用MQ,并且從未考慮過各種問題,那么您將擁有一個(gè)杯子。面試官對你的感覺是,他只會不假思索地使用一些簡單的技巧,不會馬上給你留下好印象。如果招到這樣的學(xué)生,工資不到兩萬的普通小弟還可以,但工資兩萬的高級工就慘了,讓我們設(shè)計(jì)一個(gè)制度,里面肯定有很多漏洞。如果發(fā)生事故,公司將蒙受損失,團(tuán)隊(duì)將共同承擔(dān)責(zé)任。

這是一個(gè)好問題,因?yàn)槲也荒軉柲闳绾伪WC卡夫卡的高可用性?如何保證ActiveMQ的高可用性?如果面試官這樣問,似乎他很窮。人們可以使用拉比MQ,但他從未使用過卡夫卡。你為什么上來問卡夫卡?這不是一場表演。

所以高水平的面試官問如何保證MQ的高可用性?通過這種方式,您可以告訴我們您對MQ的高可用性的理解。

rabbitmq的高可用性

rabbitmq具有代表性,因?yàn)樗谥鲝模ǚ欠植际剑└呖捎眯?。我們以rabbitmq為例來說明如何實(shí)現(xiàn)第一個(gè)MQ的高可用性。

Rabbitmq有三種模式:獨(dú)立模式、公共群集模式和鏡像群集模式。

獨(dú)立模式

獨(dú)立模式是演示級別。一般來說,您從本地開始播放,沒有人使用獨(dú)立模式進(jìn)行生產(chǎn)。

普通群集模式(無高可用性)

普通群集模式,這意味著在多臺機(jī)器上啟動(dòng)多個(gè)rabbitmq實(shí)例,每臺機(jī)器一個(gè)。您創(chuàng)建的隊(duì)列只會放置在一個(gè)rabbitmq實(shí)例上,但是每個(gè)實(shí)例都會同步隊(duì)列的元數(shù)據(jù)(元數(shù)據(jù)可以看作是隊(duì)列的一些配置信息,通過元數(shù)據(jù)可以找到隊(duì)列的實(shí)例)。當(dāng)您使用時(shí),實(shí)際上,如果您連接到另一個(gè)實(shí)例,該實(shí)例將從隊(duì)列實(shí)例中提取數(shù)據(jù)。

常見的消息隊(duì)列有哪些,它們之間有什么區(qū)別?

Rabbitmq:

Rabbitmq是一個(gè)基于Erlang語言的開源消息隊(duì)列。Rabbitmq在數(shù)據(jù)一致性、穩(wěn)定性和可靠性方面都非常優(yōu)秀。它直接或間接地支持多種協(xié)議,并能很好地支持多種語言。然而,它的性能和吞吐量并不令人滿意。由于Erlang語言的局限性,二次開發(fā)的成本很高。

Kafka:

Kafka是LinkedIn于2010年12月開發(fā)的分布式流媒體平臺,開源。它現(xiàn)在是Apache的頂級項(xiàng)目,是一個(gè)高性能的跨語言分布式流媒體平臺??焖俪志没?,消息持久化開銷在O(1)以下;高吞吐量

ActiveMQ:

是Apache下的一個(gè)子項(xiàng)目,介于zeromq和rabbitmq之間。與rabbitmq類似,它可以用少量代碼高效地實(shí)現(xiàn)高級應(yīng)用場景,并且只需要較低的成本。被稱為消息中間件的“瑞士軍刀”。然而,ActiveMQ不夠輕量級,并且當(dāng)有許多隊(duì)列時(shí),它不能很好地支持。據(jù)說也有丟失信息的情況。

Rocketmq:

Rocketmq是阿里巴巴的開源消息中間件。它目前在Apache中孵化,并在純Java中開發(fā)。它具有高吞吐量、高可用性,適合大規(guī)模分布式計(jì)算