国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者和消費(fèi)者組

這篇具有很好參考價(jià)值的文章主要介紹了分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者和消費(fèi)者組。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1. Kafka 消費(fèi)者是什么?

消費(fèi)者負(fù)責(zé)訂閱Kafka中的主題,并且從訂閱的主題上拉取消息。與其他一些消息中間件不同的是:在Kafka的消費(fèi)理念中還有一層消費(fèi)組的概念,每個(gè)消費(fèi)者都有一個(gè)對(duì)應(yīng)的消費(fèi)組。當(dāng)消息發(fā)布到主題后,只會(huì)被投遞給訂閱它的每個(gè)消費(fèi)組中的一個(gè)消費(fèi)者。

2. Kafka 消費(fèi)者組的概念?

假設(shè)我們有一個(gè)應(yīng)用程序,它從一個(gè)Kafka主題讀取消息,在對(duì)這些消息做一些驗(yàn)證后再把它們保存起來(lái)。應(yīng)用程序需要?jiǎng)?chuàng)建一個(gè)消費(fèi)者對(duì)象,訂閱主題并開(kāi)始接收消息、驗(yàn)證消息和保存結(jié)果。但過(guò)了一陣子,生產(chǎn)者向主題寫(xiě)入消息的速度超過(guò)了應(yīng)用程序驗(yàn)證數(shù)據(jù)的速度,這時(shí)候該怎么辦呢?如果只使用單個(gè)消費(fèi)者來(lái)處理消息,那么應(yīng)用程序會(huì)遠(yuǎn)遠(yuǎn)跟不上消息生成的速度。顯然,此時(shí)很有必要對(duì)消費(fèi)者進(jìn)行橫向伸縮。就像多個(gè)生產(chǎn)者可以向相同的主題寫(xiě)入消息一樣,也可以讓多個(gè)消費(fèi)者從同一個(gè)主題讀取消息。

Kafka消費(fèi)者從屬于消費(fèi)者群組。一個(gè)群組里的消費(fèi)者訂閱的是同一個(gè)主題,每個(gè)消費(fèi)者負(fù)責(zé)讀取這個(gè)主題的部分消息。

① 假設(shè)主題T1有4個(gè)分區(qū),我們創(chuàng)建了消費(fèi)者C1,它是群組G1中唯一的消費(fèi)者,用于訂閱主題T1。消費(fèi)者C1將收到主題T1全部4個(gè)分區(qū)的消息。

② 如果在群組G1里新增一個(gè)消費(fèi)者C2,那么每個(gè)消費(fèi)者將接收到兩個(gè)分區(qū)的消息。假設(shè)消費(fèi)者C1接收分區(qū)0和分區(qū)2的消息,消費(fèi)者C2接收分區(qū)1和分區(qū)3的消息。

③ 如果群組G1有4個(gè)消費(fèi)者,那么每個(gè)消費(fèi)者將可以分配到一個(gè)分區(qū)。

分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者和消費(fèi)者組,【分布式-消息隊(duì)列Kafka】,分布式,kafka

④ 如果向群組里添加更多的消費(fèi)者,以致超過(guò)了主題的分區(qū)數(shù)量,那么就會(huì)有一部分消費(fèi)者處于空閑狀態(tài),不會(huì)接收到任何消息。

向群組里添加消費(fèi)者是橫向擴(kuò)展數(shù)據(jù)處理能力的主要方式。Kafka消費(fèi)者經(jīng)常需要執(zhí)行一些高延遲的操作,比如把數(shù)據(jù)寫(xiě)到數(shù)據(jù)庫(kù)或用數(shù)據(jù)做一些比較耗時(shí)的計(jì)算。在這些情況下,單個(gè)消費(fèi)者無(wú)法跟上數(shù)據(jù)生成的速度,因此可以增加更多的消費(fèi)者來(lái)分擔(dān)負(fù)載,讓每個(gè)消費(fèi)者只處理部分分區(qū)的消息,這是橫向擴(kuò)展消費(fèi)者的主要方式。于是,我們可以為主題創(chuàng)建大量的分區(qū),當(dāng)負(fù)載急劇增長(zhǎng)時(shí),可以加入更多的消費(fèi)者。不過(guò)需要注意的是,不要讓消費(fèi)者的數(shù)量超過(guò)主題分區(qū)的數(shù)量,因?yàn)槎嘤嗟南M(fèi)者只會(huì)被閑置。

⑤ 除了通過(guò)增加消費(fèi)者數(shù)量來(lái)橫向伸縮單個(gè)應(yīng)用程序,我們還經(jīng)常遇到多個(gè)應(yīng)用程序從同一個(gè)主題讀取數(shù)據(jù)的情況。實(shí)際上,Kafka的一個(gè)主要設(shè)計(jì)目標(biāo)是讓Kafka主題里的數(shù)據(jù)能夠滿(mǎn)足企業(yè)各種應(yīng)用場(chǎng)景的需求。在這些應(yīng)用場(chǎng)景中,我們希望每一個(gè)應(yīng)用程序都能獲取到所有的消息,而不只是其中的一部分。只要保證每個(gè)應(yīng)用程序都有自己的消費(fèi)者群組就可以讓它們獲取到所有的消息。不同于傳統(tǒng)的消息系統(tǒng),橫向伸縮消費(fèi)者和消費(fèi)者群組并不會(huì)導(dǎo)致Kafka性能下降。

在之前的例子中,如果新增一個(gè)只包含一個(gè)消費(fèi)者的群組G2,那么這個(gè)消費(fèi)者將接收到主題T1的所有消息,與群組G1之間互不影響。群組G2可以增加更多的消費(fèi)者,每個(gè)消費(fèi)者會(huì)讀取若干個(gè)分區(qū),就像群組G1里的消費(fèi)者那樣。作為整體來(lái)說(shuō),群組G2還是會(huì)收到所有消息,不管有沒(méi)有其他群組存在。

分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者和消費(fèi)者組,【分布式-消息隊(duì)列Kafka】,分布式,kafka

總的來(lái)說(shuō),就是為每一個(gè)需要獲取主題全部消息的應(yīng)用程序創(chuàng)建一個(gè)消費(fèi)者群組,然后向群組里添加更多的消費(fèi)者來(lái)擴(kuò)展讀取能力和處理能力,讓群組里的每個(gè)消費(fèi)者只處理一部分消息。

3. Kafka 消費(fèi)者和消費(fèi)者組有什么關(guān)系?

消費(fèi)者組是一個(gè)邏輯上的概念,它將旗下的消費(fèi)者歸為一類(lèi),每一個(gè)消費(fèi)者只屬于一個(gè)消費(fèi)者組。每一個(gè)消費(fèi)組都會(huì)有一個(gè)固定的名稱(chēng),消費(fèi)者在進(jìn)行消費(fèi)前需要指定其所屬消費(fèi)者組的名稱(chēng),這個(gè)可以通過(guò)消費(fèi)者客戶(hù)端參數(shù)group.id來(lái)配置,默認(rèn)值為空字符串。 消費(fèi)者組內(nèi)每個(gè)消費(fèi)者負(fù)責(zé)消費(fèi)不同分區(qū)的數(shù)據(jù),一個(gè)分區(qū)只能由同一個(gè)消費(fèi)者組內(nèi)的一個(gè)消費(fèi)者來(lái)消費(fèi)。

消費(fèi)者組的作用是實(shí)現(xiàn)負(fù)載均衡和容錯(cuò)性,因?yàn)槊總€(gè)消費(fèi)者只能讀取主題中的一部分消息,而消費(fèi)者組中的所有消費(fèi)者共同讀取整個(gè)主題中的所有消息。

4. Kafka 多個(gè)消費(fèi)者如何同時(shí)消費(fèi)一個(gè)分區(qū)?

Kafka 中的每個(gè)分區(qū)只能被一個(gè)消費(fèi)者消費(fèi),如果多個(gè)Kafka消費(fèi)者要同時(shí)消費(fèi)相同主題下相同分區(qū)的數(shù)據(jù),需要將它們放到不同的消費(fèi)者組中。在Kafka中,一個(gè)消費(fèi)者組中的每個(gè)消費(fèi)者會(huì)消費(fèi)主題下不同分區(qū)的消息,而不同消費(fèi)者組中的消費(fèi)者則可以同時(shí)消費(fèi)相同分區(qū)的數(shù)據(jù)。這樣可以實(shí)現(xiàn)多個(gè)消費(fèi)者同時(shí)消費(fèi)相同分區(qū)的數(shù)據(jù),提高消費(fèi)效率和可靠性。同時(shí),Kafka還提供了一些負(fù)載均衡策略,可以根據(jù)消費(fèi)者組中消費(fèi)者的數(shù)量和消費(fèi)能力來(lái)自動(dòng)分配Partition,以實(shí)現(xiàn)更好的負(fù)載均衡。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-644038.html

到了這里,關(guān)于分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者和消費(fèi)者組的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者的分區(qū)分配策略

    分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者的分區(qū)分配策略

    Kafka 消費(fèi)者負(fù)載均衡策略? Kafka 消費(fèi)者分區(qū)分配策略? 1. 環(huán)境準(zhǔn)備 創(chuàng)建主題 test 有5個(gè)分區(qū),準(zhǔn)備 3 個(gè)消費(fèi)者并進(jìn)行消費(fèi),觀察消費(fèi)分配情況。然后再停止其中一個(gè)消費(fèi)者,再次觀察消費(fèi)分配情況。 ① 創(chuàng)建主題 test,該主題有5個(gè)分區(qū),2個(gè)副本: ② 創(chuàng)建3個(gè)消費(fèi)者CustomConsu

    2024年02月13日
    瀏覽(31)
  • 分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者分區(qū)再均衡(Rebalance)

    分布式 - 消息隊(duì)列Kafka:Kafka消費(fèi)者分區(qū)再均衡(Rebalance)

    01. Kafka 消費(fèi)者分區(qū)再均衡是什么? 消費(fèi)者群組里的消費(fèi)者共享主題分區(qū)的所有權(quán)。當(dāng)一個(gè)新消費(fèi)者加入群組時(shí),它將開(kāi)始讀取一部分原本由其他消費(fèi)者讀取的消息。當(dāng)一個(gè)消費(fèi)者被關(guān)閉或發(fā)生崩潰時(shí),它將離開(kāi)群組,原本由它讀取的分區(qū)將由群組里的其他消費(fèi)者讀取。 分區(qū)

    2024年02月12日
    瀏覽(31)
  • 【分布式技術(shù)】消息隊(duì)列Kafka

    【分布式技術(shù)】消息隊(duì)列Kafka

    目錄 一、Kafka概述 二、消息隊(duì)列Kafka的好處 三、消息隊(duì)列Kafka的兩種模式 四、Kafka 1、Kafka 定義 2、Kafka 簡(jiǎn)介 3、Kafka 的特性 五、Kafka的系統(tǒng)架構(gòu) 六、實(shí)操部署Kafka集群 ?步驟一:在每一個(gè)zookeeper節(jié)點(diǎn)上完成kafka部署 ?編輯 步驟二:傳給其他節(jié)點(diǎn) 步驟三:?jiǎn)?dòng)3個(gè)節(jié)點(diǎn) kafka管理

    2024年01月23日
    瀏覽(27)
  • kafka 分布式的情況下,如何保證消息的順序消費(fèi)?

    kafka 分布式的情況下,如何保證消息的順序消費(fèi)?

    目錄 一、什么是分布式 二、kafka介紹 三、消息的順序消費(fèi) 四、如何保證消息的順序消費(fèi) ? 分布式是指將計(jì)算任務(wù)分散到多個(gè)計(jì)算節(jié)點(diǎn)上進(jìn)行并行處理的一種計(jì)算模型。在分布式系統(tǒng)中,多臺(tái)計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)互聯(lián),共同協(xié)作完成任務(wù)。每個(gè)計(jì)算節(jié)點(diǎn)都可以獨(dú)立運(yùn)行,并且可以

    2024年02月10日
    瀏覽(21)
  • 分布式 - 消息隊(duì)列Kafka:Kafka生產(chǎn)者發(fā)送消息的方式

    分布式 - 消息隊(duì)列Kafka:Kafka生產(chǎn)者發(fā)送消息的方式

    不管是把Kafka作為消息隊(duì)列、消息總線(xiàn)還是數(shù)據(jù)存儲(chǔ)平臺(tái),總是需要一個(gè)可以往Kafka寫(xiě)入數(shù)據(jù)的生產(chǎn)者、一個(gè)可以從Kafka讀取數(shù)據(jù)的消費(fèi)者,或者一個(gè)兼具兩種角色的應(yīng)用程序。 Kafka 生產(chǎn)者是指使用 Apache Kafka 消息系統(tǒng)的應(yīng)用程序,它們負(fù)責(zé)將消息發(fā)送到 Kafka 集群中的一個(gè)或多

    2024年02月13日
    瀏覽(29)
  • 分布式 - 消息隊(duì)列Kafka:Kafka生產(chǎn)者發(fā)送消息的分區(qū)策略

    分布式 - 消息隊(duì)列Kafka:Kafka生產(chǎn)者發(fā)送消息的分區(qū)策略

    01. Kafka 分區(qū)的作用 分區(qū)的作用就是提供負(fù)載均衡的能力,或者說(shuō)對(duì)數(shù)據(jù)進(jìn)行分區(qū)的主要原因,就是為了實(shí)現(xiàn)系統(tǒng)的高伸縮性。不同的分區(qū)能夠被放置到不同節(jié)點(diǎn)的機(jī)器上,而數(shù)據(jù)的讀寫(xiě)操作也都是針對(duì)分區(qū)這個(gè)粒度而進(jìn)行的,這樣每個(gè)節(jié)點(diǎn)的機(jī)器都能獨(dú)立地執(zhí)行各自分區(qū)的

    2024年02月13日
    瀏覽(32)
  • 分布式 - 消息隊(duì)列Kafka:Kafka生產(chǎn)者發(fā)送消息的3種方式

    分布式 - 消息隊(duì)列Kafka:Kafka生產(chǎn)者發(fā)送消息的3種方式

    不管是把Kafka作為消息隊(duì)列、消息總線(xiàn)還是數(shù)據(jù)存儲(chǔ)平臺(tái),總是需要一個(gè)可以往Kafka寫(xiě)入數(shù)據(jù)的生產(chǎn)者、一個(gè)可以從Kafka讀取數(shù)據(jù)的消費(fèi)者,或者一個(gè)兼具兩種角色的應(yīng)用程序。 Kafka 生產(chǎn)者是指使用 Apache Kafka 消息系統(tǒng)的應(yīng)用程序,它們負(fù)責(zé)將消息發(fā)送到 Kafka 集群中的一個(gè)或多

    2024年02月13日
    瀏覽(28)
  • zookeeper+kafka分布式消息隊(duì)列集群的部署

    zookeeper+kafka分布式消息隊(duì)列集群的部署

    目錄 一、zookeeper 1.Zookeeper 定義 2.Zookeeper 工作機(jī)制 3.Zookeeper 特點(diǎn) 4.Zookeeper 數(shù)據(jù)結(jié)構(gòu) 5.Zookeeper 應(yīng)用場(chǎng)景 (1)統(tǒng)一命名服務(wù) (2)統(tǒng)一配置管理 (3)統(tǒng)一集群管理 (4)服務(wù)器動(dòng)態(tài)上下線(xiàn) 6.Zookeeper 選舉機(jī)制 (1)第一次啟動(dòng)選舉機(jī)制 (2)非第一次啟動(dòng)選舉機(jī)制 7.部署zookeepe

    2024年02月14日
    瀏覽(25)
  • 分布式應(yīng)用之zookeeper集群+消息隊(duì)列Kafka

    分布式應(yīng)用之zookeeper集群+消息隊(duì)列Kafka

    ? ? ? ?ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。為分布式框架提供協(xié)調(diào)服務(wù)的

    2024年02月06日
    瀏覽(139)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包