【2020-08-30】Rocket架構(gòu)原理以及使用方式

1、今日任務(wù)

  • RocketMQ 是如何集群化部署承載高并發(fā)請(qǐng)求的?
  • RocketMQ 是如何存儲(chǔ)海量海量信息的,如何實(shí)現(xiàn)分布式存儲(chǔ)的?
  • RocketMQ 是如果 Master 節(jié)點(diǎn)掛掉了怎么辦?豈不是會(huì)丟失一部分?jǐn)?shù)據(jù)
  • RocketMQ 是如何知道要發(fā)送到哪些 Broker 上去的?

2、MQ 如何集群化 部署承載高并發(fā)請(qǐng)求?

一臺(tái)高配置的機(jī)器,部署了 RocketMQ 之后,可以支持 10 萬(wàn)+并發(fā)的訪問(wèn),

答案: RocketMQ 可以集群化部署,可以部署再多臺(tái)機(jī)器上面,每臺(tái)機(jī)器可以承載 10 萬(wàn)+的高并發(fā)請(qǐng)求,那么 RocketMQ 集群就可以承載幾十萬(wàn)+并發(fā)請(qǐng)求。

3、RocketMQ 如何存儲(chǔ)海量消息的?

RocketMQ 收到消息之后,不會(huì)里面就讓消費(fèi)者進(jìn)行消費(fèi),而是先將消息存儲(chǔ)到自己的本地磁盤中,等需要消費(fèi)的時(shí)候再進(jìn)行處理。

答案:每臺(tái)機(jī)器上部署的 RocketMQ 進(jìn)程稱之為 Broker,每個(gè) Broker 會(huì)收到不同的消息,然后每個(gè) Broker 就會(huì)將收到的消息存儲(chǔ)到自己的本地磁盤中。

RocketMQ 存儲(chǔ)海量消息機(jī)制的關(guān)鍵是可以實(shí)現(xiàn)分布式存儲(chǔ),將海量消息均衡的分布在 RocketMQ 集群的各臺(tái)機(jī)器,這樣每臺(tái)機(jī)器可以存儲(chǔ)部分消息數(shù)據(jù),多臺(tái)機(jī)器既可以存儲(chǔ)海量消息。

4、RocketMQ是如何保證高可用的?如果Broker宕機(jī)了怎么辦?豈不是部分消息數(shù)據(jù)會(huì)丟失。

Rocket進(jìn)程簡(jiǎn)稱為Broker,一個(gè)RocketMQ有多個(gè)Broker,每個(gè)Broker存儲(chǔ)部分消息數(shù)據(jù),如果Broker宕機(jī)了,豈不是會(huì)丟失部分的數(shù)據(jù)。

答案:RocketMQ實(shí)現(xiàn)高可用機(jī)制的關(guān)鍵是 Broker主從機(jī)制和多副本策略。Broker有兩種角色,Master 和 Slave,一個(gè)Broker最少有一個(gè)Master節(jié)點(diǎn),一個(gè)Slave節(jié)點(diǎn)。 Master Node收到消息之后,會(huì)將消息同步給Slave節(jié)點(diǎn),只有Master Node收到了消息,并且成功將消息同步給了Slave節(jié)點(diǎn),這條消息才算是真正的發(fā)送成功了。

如果Master節(jié)點(diǎn)宕機(jī)了,Slave節(jié)點(diǎn)有一份冗余消息數(shù)據(jù),不會(huì)導(dǎo)致數(shù)據(jù)丟失,并且還能繼續(xù)對(duì)外提供服務(wù),保證MQ的高可用。

5、數(shù)據(jù)路由:怎么知道要訪問(wèn)那些Broker

答案: RocketMQ集群有一個(gè)NameServer集群,獨(dú)立部署再其他機(jī)器上,Broker啟動(dòng)的時(shí)候,會(huì)向NameServer進(jìn)行注冊(cè),NameServer包含了所有Broker節(jié)點(diǎn)的元數(shù)據(jù)信息。

如果要發(fā)送數(shù)據(jù)到Broker,會(huì)先找NameServer,從中獲取Broker信息,然后再想Broker發(fā)送消息數(shù)據(jù)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容