日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Kafka分區(qū)副本與RocketMQ隊列的不同

最近在學習 Kafka,發(fā)現(xiàn)其核心概念與 RocketMQ 還是存在一定的差別,下面我來說下 Kafka 分區(qū) 與 RocketMQ隊列之間的區(qū)別。

RocketMQ 隊列

RocketMQ 每個主題都會有若干個隊列,分布于集群中各個 broker 上,分布規(guī)律如下:

隊列會在 broker 中抽象成一個 consumer queue,在集群模式下,每個隊列每個消費組只能存在一個消費者進行訂閱消費,但是一個消費者可以消費多個隊列,這也保證了在集群模式下消息不會被重復消費,如下圖所示:

在RocketMQ開源版本中,在創(chuàng)建主題時,通過集群創(chuàng)建模式,指定主題在集群中的隊列數(shù)量,比如集群中有 2 個 broker,我們創(chuàng)建主題時選擇隊列數(shù)量為 4,就會在每個 broker 中為該主題創(chuàng)建 4 個 隊列,那么該主題在集群中就會有 4 * 2 個隊列數(shù)量,這里有個不好的地方就是無法精確控制隊列數(shù)量,但這個問題不大。

RocketMQ 是通過主從模式實現(xiàn)消息的冗余,在生產(chǎn)環(huán)境中,也會采取多 Master 多 Slave 模式搭建集群,主從之間的隊列數(shù)據(jù)同步有同步復制和異步復制兩種。

因此,RocketMQ 是依靠隊列進行消費的,而隊列數(shù)據(jù)通過主從同步實現(xiàn)消息的冗余。

Kafka分區(qū)與副本

Kafka 的分區(qū)概念是其核心概念之一,分區(qū)機制使得 Kafka 具備了水平擴展的能力,在其分區(qū)之上,Kafka 還可以設置分區(qū)的副本,大大提高了 Kafka 消息的可靠性。

在 Kafka 中,一個主題在集群中會擁有一個以上分區(qū),每個分區(qū)在每個消費集群中只能有一個消費者進行訂閱消費,,但是一個消費者可以消費多個隊列,與 RocketMQ 隊列一樣:

我們可以通過調(diào)整主題的分區(qū)數(shù)量提高消息的吞吐量,還可以為分區(qū)設置副本因子,即該分區(qū)在集群中擁有多少個副本(replica),副本分為 leader replica 與 follower replica,它們之間通過 ISR(in-sync replica)與 leader replica 保持數(shù)據(jù)同步。

在創(chuàng)建主題topic-demo時,可以指定主題在集群中的分區(qū)數(shù)量,以及副本因子大小:

--partitions 4 --replication-factor 2

以上參數(shù)為該主題創(chuàng)建了 4 個分區(qū),副本因子為 2,我現(xiàn)在有個集群,有 3 個 broker:

nodel brokerid=O
node2 brokerid=l
node3 brokerid=2

根據(jù) Kafka 的默認分配:

node1: topic-demo-0、topic-demo-1
node2: topic-demo-1、topic-demo-2、topic-demo-3
node3: topic-demo-0、topic-demo-2、topic-demo-3

有沒有發(fā)現(xiàn),每個分區(qū)都分配了一個副本,而且分區(qū)的分布盡量均衡,分區(qū)副本盡量不在同一個節(jié)點上,如果我們設置副本因子為 3,原理一樣。

不同于 RocketMQ 隊列,Kafka 的分區(qū)可以在集群中精確設置多少個,然后隨機均衡地分布在集群上,還可以自由定義副本的多少,而 RocketMQ 的 Master-Slave 模式看起來僅有一份副本,當然為了節(jié)省存儲空間以及提高性能,一般副本因子設置 2 也就夠了。

相對比 RocketMQ 的隊列與主從同步機制,Kafka 的分區(qū)與副本機制顯得更加靈活,而且也更加合理。


分享標題:Kafka分區(qū)副本與RocketMQ隊列的不同
網(wǎng)頁鏈接:http://m.5511xx.com/article/dpocecp.html