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

深入學(xué)習(xí)Kafka之概念解析

這篇具有很好參考價(jià)值的文章主要介紹了深入學(xué)習(xí)Kafka之概念解析。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

0. Kafka是什么

Kafka是一個(gè)開源的分布式流處理平臺和消息隊(duì)列系統(tǒng)。

Kafka是一個(gè)值得深入學(xué)習(xí)的開源中間件,其中涉及的概念有很多,今天就來梳理一下,這些概念到底都是什么。

1. 基本概念

1.1 生產(chǎn)者(Producer)

Producers are those client applications that publish (write) events to Kafka

生產(chǎn)者就是那些發(fā)布/寫事件到Kafka的客戶端應(yīng)用。

1.2 消費(fèi)者(Consumer)

consumers are those that subscribe to (read and process) these events.

消費(fèi)者是那些訂閱(讀和處理)這些事件的應(yīng)用。

1.3 服務(wù)代理節(jié)點(diǎn)(Broker)

Kafka is run as a cluster of one or more servers that can span multiple datacenters or cloud regions. Some of these servers form the storage layer, called the brokers.

Kafka以一個(gè)或多個(gè)服務(wù)端組成的集群方式運(yùn)行,這樣可以使其分成多個(gè)數(shù)據(jù)中心或者云區(qū)域。一些來自存儲層的server被稱之為broker。

對于 Kafka 而言, Broker 可以簡單地看作一個(gè)獨(dú)立的 Kafka 服務(wù)節(jié)點(diǎn)或 Kafka服務(wù)實(shí)例。大多數(shù)情況下也可以將 Broker看作一臺 Kafka服務(wù)器,前提是這 臺服務(wù)器上只部署了一個(gè) Kafka 實(shí)例。一個(gè)或多個(gè) Broker 組成了 一個(gè) Kafka 集群 。一般而言, 我們更習(xí)慣使用首字母小寫的 broker 來表示服務(wù)代理節(jié)點(diǎn) 。

1.4 控制器(Controller)

在 Kafka 集群中會有一個(gè)或多個(gè) broker,其中有一個(gè) broker 會被選舉為控制器( Kafka Controller),它負(fù)責(zé)管理整個(gè)集群中所有分區(qū)和副本的狀態(tài)。當(dāng)某個(gè)分區(qū)的 leader 副本出現(xiàn)故 障時(shí),由控制器負(fù)責(zé)為該分區(qū)選舉新的 leader副本。當(dāng)檢測到某個(gè)分區(qū)的 ISR集合發(fā)生變化時(shí), 由控制器負(fù)責(zé)通知所有 broker更新其元數(shù)據(jù)信息。

具備控制器身份的broker需要比其他普通的broker多一份職責(zé):

    1. 監(jiān)聽分區(qū)相關(guān)變化。
      • a. 分區(qū)重新分配。(reassignment)
      • b. ISR集合變更。
      • c. 副本選舉。
    1. 監(jiān)聽主題相關(guān)變化。
      • a.topic的增加、刪除等。
    1. 監(jiān)聽broker相關(guān)變化。
      • a. broker的增加與減少。
    1. 啟動并管理分區(qū)狀態(tài)機(jī)和副本狀態(tài)機(jī)。
    1. 更新元數(shù)據(jù)信息。

1.5 主題 Topic

在Kafka中,Topic(主題)是消息發(fā)布和訂閱的基本單位。它是一個(gè)邏輯上的概念,用于組織和分類消息流。一個(gè)Topic可以被看作是一個(gè)具有相同特性的消息類別或主題。

每個(gè)Topic都有一個(gè)唯一的名稱,用于在Kafka集群中進(jìn)行標(biāo)識和訪問。生產(chǎn)者(Producers)將消息發(fā)布到特定的Topic,而消費(fèi)者(Consumers)則訂閱感興趣的Topic以消費(fèi)其中的消息。

Kafka的Topic可以被分成多個(gè)分區(qū)(Partitions),每個(gè)分區(qū)都是有序且持久化的消息日志。分區(qū)是Topic在物理上的分割,用于實(shí)現(xiàn)數(shù)據(jù)的橫向擴(kuò)展和并行處理。每個(gè)分區(qū)可以在不同的服務(wù)器上進(jìn)行復(fù)制,以提供數(shù)據(jù)冗余和故障恢復(fù)機(jī)制。

1.6 分區(qū)(Partitions)

在Kafka中,分區(qū)(Partitions)是Topic的物理單元,用于水平劃分和存儲數(shù)據(jù)。每個(gè)Topic可以被分成一個(gè)或多個(gè)分區(qū),每個(gè)分區(qū)都是一個(gè)有序、不可變的消息日志。
分區(qū)leader的選舉由控制器負(fù)責(zé)具體實(shí)施。

1.7 副本(replica)

在Kafka中,每個(gè)分區(qū)都可以配置多個(gè)分區(qū)副本(Partition Replicas)。分區(qū)副本是分布在不同節(jié)點(diǎn)上的數(shù)據(jù)備份,用于提供數(shù)據(jù)冗余和故障容錯(cuò)。

以下是關(guān)于Kafka分區(qū)副本的一些關(guān)鍵概念和特性:

  • 1.復(fù)制機(jī)制:每個(gè)分區(qū)可以配置一個(gè)或多個(gè)副本。副本之間通過復(fù)制機(jī)制保持?jǐn)?shù)據(jù)的一致性。當(dāng)生產(chǎn)者發(fā)送消息時(shí),它們將被寫入主副本(Leader Replica),而主副本會將消息復(fù)制到其他副本(Follower Replicas)。
  • 2.主副本和從副本:每個(gè)分區(qū)只有一個(gè)主副本,它負(fù)責(zé)處理所有的讀寫請求。其他副本是從副本,它們與主副本保持同步,并提供備份數(shù)據(jù)以供故障恢復(fù)。
  • 3.數(shù)據(jù)復(fù)制和同步:Kafka使用復(fù)制日志(Replication Log)的方式進(jìn)行數(shù)據(jù)復(fù)制和同步。主副本將消息寫入日志,并將日志傳輸給從副本,從副本按順序應(yīng)用這些消息以保持?jǐn)?shù)據(jù)的一致性。
  • 4.容錯(cuò)和可用性:分區(qū)副本提供了故障容錯(cuò)和數(shù)據(jù)冗余的機(jī)制。如果主副本發(fā)生故障,Kafka會自動選擇一個(gè)從副本作為新的主副本,以確保分區(qū)的可用性和持續(xù)的數(shù)據(jù)寫入。
  • 5.負(fù)載均衡:分區(qū)副本的配置可以實(shí)現(xiàn)負(fù)載均衡。Kafka會將分區(qū)副本盡可能分布在不同的節(jié)點(diǎn)上,以平衡數(shù)據(jù)的讀寫負(fù)載和提供更好的性能。
  • 6.ISR(In-Sync Replicas):ISR是指與主副本保持同步的副本集合。只有在ISR中的副本才能成為新的主副本。如果副本與主副本的同步進(jìn)度滯后,它將被移出ISR,直到追趕上同步進(jìn)度。

分區(qū)副本在Kafka中是實(shí)現(xiàn)高可用性、數(shù)據(jù)冗余和故障容錯(cuò)的關(guān)鍵機(jī)制。它們提供了數(shù)據(jù)的持久性和可用性保證,以及在節(jié)點(diǎn)故障時(shí)的自動故障轉(zhuǎn)移。

1.8 Consumer Group(消費(fèi)者組)

消費(fèi)者可以組成一個(gè)消費(fèi)者組。每個(gè)消費(fèi)者組可以訂閱一個(gè)或多個(gè)主題,并共享消息的處理負(fù)載。Kafka 會將消息廣播給消費(fèi)者組中的所有消費(fèi)者。

1.9 Offset(偏移量)

偏移量是消息在分區(qū)中的唯一標(biāo)識符。消費(fèi)者可以通過指定偏移量來讀取分區(qū)中的消息。Kafka 會跟蹤每個(gè)消費(fèi)者在每個(gè)分區(qū)中的偏移量,并確保消費(fèi)者可以繼續(xù)從上次離開的位置讀取消息。

1.10 Rebalance

Kafka 的 Rebalance 是指在消費(fèi)者組中增加或減少消費(fèi)者時(shí),自動重新分配分區(qū)的過程。當(dāng)消費(fèi)者加入或離開消費(fèi)者組時(shí),Kafka 會自動進(jìn)行 Rebalance 操作,以確保每個(gè)消費(fèi)者在消費(fèi)者組中處理盡可能相等的負(fù)載。
三個(gè)觸發(fā)Rebalance的情況:

  • 1.消費(fèi)者組成熟數(shù)量發(fā)生變化
  • 2.訂閱的主題數(shù)量發(fā)生變化
  • 3.訂閱的主題的分區(qū)數(shù)量發(fā)生變化

1.11 Coordinator

新版的消費(fèi)者客戶端對此進(jìn)行了重新設(shè)計(jì) ,將全部消費(fèi)組分成多個(gè)子集 , 每個(gè)消費(fèi)組的子 集在服務(wù)端對應(yīng)一個(gè) GroupCoordinator 對其進(jìn)行管理,GroupCoordinator是Kafka服務(wù)端中用于管理消費(fèi)組的組件。
而消費(fèi)者客戶端中的 ConsumerCoordinator組件負(fù)責(zé)與 GroupCoordinator進(jìn)行交互 。

1.12 LEO(Log end offset)

Leo 是指副本日志的當(dāng)前末尾偏移量。它表示副本已經(jīng)成功復(fù)制的消息的最高偏移量。所有新的消息都將追加到 Leo 之后。Leo 用于確定要從哪個(gè)偏移量開始復(fù)制消息。

1.13 HW(High Watermark)

HW 是指副本的高水位標(biāo)記。它表示副本已經(jīng)成功應(yīng)用到消費(fèi)者的最高偏移量。也就是說,消費(fèi)者可以確保已經(jīng)消費(fèi)并處理了 HW 之前的所有消息。HW 用于跟蹤消費(fèi)者的進(jìn)度,以及確定哪些消息可以被安全地刪除。文章來源地址http://www.zghlxwxcb.cn/news/detail-836353.html

到了這里,關(guān)于深入學(xué)習(xí)Kafka之概念解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Kafka 基礎(chǔ)概念學(xué)習(xí)

    Kafka 基礎(chǔ)概念學(xué)習(xí)

    項(xiàng)目 Value Broker Kafka服務(wù)端(即部署了Kafka的機(jī)器) Producer 生產(chǎn)者寫數(shù)據(jù)到主副本 Consumer 消費(fèi)者從主副本讀數(shù)據(jù) Consumer Group 消費(fèi)者組,同一個(gè)組下可以訂閱多個(gè)Topic,每個(gè)Topic分區(qū)不允許重復(fù)消費(fèi);多個(gè)不同組可以消費(fèi)同一個(gè)Topic的同一個(gè)分區(qū) Broker Kafka服務(wù)端一個(gè)實(shí)例(一臺機(jī)器

    2024年02月13日
    瀏覽(13)
  • 解析Apache Kafka:在大數(shù)據(jù)體系中的基本概念和核心組件

    解析Apache Kafka:在大數(shù)據(jù)體系中的基本概念和核心組件

    關(guān)聯(lián)閱讀博客文章:探討在大數(shù)據(jù)體系中API的通信機(jī)制與工作原理 關(guān)聯(lián)閱讀博客文章:深入解析大數(shù)據(jù)體系中的ETL工作原理及常見組件 關(guān)聯(lián)閱讀博客文章:深度剖析:計(jì)算機(jī)集群在大數(shù)據(jù)體系中的關(guān)鍵角色和技術(shù)要點(diǎn) 關(guān)聯(lián)閱讀博客文章:深入理解HDFS工作原理:大數(shù)據(jù)存儲和

    2024年04月10日
    瀏覽(24)
  • kafka學(xué)習(xí)-概念與簡單實(shí)戰(zhàn)

    kafka學(xué)習(xí)-概念與簡單實(shí)戰(zhàn)

    目錄 1、核心概念 消息和批次 Topic和Partition Replicas Offset broker和集群 生產(chǎn)者和消費(fèi)者 2、開發(fā)實(shí)戰(zhàn) 2.1、消息發(fā)送 介紹 代碼實(shí)現(xiàn) 2.2、消息消費(fèi) 介紹 代碼實(shí)現(xiàn) 2.3、SpringBoot Kafka pom application.yaml KafkaConfig producer consumer ????????kafka的基本數(shù)據(jù)單元,由字節(jié)數(shù)組組成??梢岳斫?/p>

    2024年02月09日
    瀏覽(20)
  • kafka學(xué)習(xí)-基本概念與簡單實(shí)戰(zhàn)

    kafka學(xué)習(xí)-基本概念與簡單實(shí)戰(zhàn)

    目錄 1、核心概念 消息和批次 Topic和Partition Replicas Offset broker和集群 生產(chǎn)者和消費(fèi)者 2、開發(fā)實(shí)戰(zhàn) 2.1、消息發(fā)送 介紹 代碼實(shí)現(xiàn) 2.2、消息消費(fèi) 介紹 代碼實(shí)現(xiàn) 2.3、SpringBoot Kafka pom application.yaml KafkaConfig producer consumer ????????kafka的基本數(shù)據(jù)單元,由字節(jié)數(shù)組組成??梢岳斫?/p>

    2024年02月09日
    瀏覽(18)
  • Kafka指定分區(qū)消費(fèi)及consumer-id,client-id相關(guān)概念解析

    Kafka指定分區(qū)消費(fèi)及consumer-id,client-id相關(guān)概念解析

    xxxx系列(1)― xxxx系列(2)― xxxxx系列(3)― 提示:寫完文章后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 在最近使用Kafka過程中,發(fā)現(xiàn)使用@KafkaListener指定分區(qū)消費(fèi)時(shí)(指定了所有分區(qū)),如果服務(wù)是多節(jié)點(diǎn),會出現(xiàn)重復(fù)消費(fèi)的現(xiàn)象,即兩個(gè)服務(wù)節(jié)點(diǎn)中的消費(fèi)者均會消

    2024年02月13日
    瀏覽(20)
  • 深入剖析:Kafka流數(shù)據(jù)處理引擎的核心面試問題解析75問(5.7萬字參考答案)

    深入剖析:Kafka流數(shù)據(jù)處理引擎的核心面試問題解析75問(5.7萬字參考答案)

    ? ? ? ?Kafka 是一款開源的分布式流處理平臺,被廣泛應(yīng)用于構(gòu)建實(shí)時(shí)數(shù)據(jù)管道、日志聚合、事件驅(qū)動的架構(gòu)等場景。本文將深入探究 Kafka 的基本原理、特點(diǎn)以及其在實(shí)際應(yīng)用中的價(jià)值和作用。 ? ? ?Kafka 的基本原理是建立在發(fā)布-訂閱模式之上的。生產(chǎn)者將消息發(fā)布到主題(

    2024年01月23日
    瀏覽(27)
  • kafka--kafka的基本概念-副本概念replica

    kafka--kafka的基本概念-副本概念replica

    Broker 表示實(shí)際的物理機(jī)器節(jié)點(diǎn) Broker1中的綠色P1表示主分片Broker2中的藍(lán)色P1表示副本分片,其余類似,就是主從的概念,如果一個(gè)Broker掛掉了,還有其它的節(jié)點(diǎn)來保證數(shù)據(jù)的完整性 P可以看做分區(qū) 同一時(shí)間點(diǎn),綠色P1 和紫色P1 不會完全一致,存在一個(gè)同步的過程 綠色部分處理

    2024年02月12日
    瀏覽(24)
  • 【Kafka】Kafka基礎(chǔ)概念筆記

    【Kafka】Kafka基礎(chǔ)概念筆記

    Kafka作為消息隊(duì)列,有兩種模式: 點(diǎn)對點(diǎn)模式 發(fā)布/訂閱模式 1.1 點(diǎn)對點(diǎn)模式 特點(diǎn): 消費(fèi)者主動拉取數(shù)據(jù), 消息收到后清除消息 1.2 發(fā)布/訂閱模式 可以有多個(gè)topic主題(瀏覽、點(diǎn)贊、收藏、評論等) 消費(fèi)者消費(fèi)數(shù)據(jù)之后, 不刪除數(shù)據(jù) 每個(gè)消費(fèi)者相互獨(dú)立,都可以消費(fèi)到數(shù)據(jù)

    2024年02月13日
    瀏覽(13)
  • 【Kafka】Kafka介紹、架構(gòu)和概念

    【Kafka】Kafka介紹、架構(gòu)和概念

    Kafka是是一個(gè)優(yōu)秀的分布式消息中間件,關(guān)于常用的消息中間件對比可參考文章:消息中間件概述。 Kafka是最初由Linkedin公司開發(fā),是一個(gè)分布式、分區(qū)的、多副本的、多生產(chǎn)者、多訂閱者,基于zookeeper協(xié)調(diào)的分布式日志系統(tǒng)(也可以當(dāng)做MQ系統(tǒng)),常見可以用于web/nginx日志、

    2024年01月22日
    瀏覽(17)
  • kafka--kafka基礎(chǔ)概念-ISR詳解

    kafka--kafka基礎(chǔ)概念-ISR詳解

    主要是講 主 往 從同步中的問題 當(dāng)綠色P1接收到寫入的數(shù)據(jù),要同步到紫色的P1S1和P1S2 如何保證一致性呢? 使用In Sync Replicas 也就是ISR概念 為什么不一致的? 因?yàn)镻1S1同步數(shù)據(jù) 可能花費(fèi) 50ms P1S2可能花費(fèi)60ms 同步完的進(jìn)入ISR集合, 同步時(shí)間是可以設(shè)置規(guī)定時(shí)間的(容忍時(shí)間)

    2024年02月12日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包