成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

超簡單的Kafka架構入門指南,看這一篇就夠了

開發 架構
本文簡單介紹了Kafka架構,以及架構中涉及到底的一些名詞概念,包括Producer(生產者)、Consumer(消費者)、Broker(代理節點)、Topic(主題)、Partition(分區)、Leader Replica(領導者副本)、Follower Replica(跟隨者副本)、LEO(Log End Offset,日志結束偏移量)、HW(High Watermark,高水位)、Cons

1. Kafka簡介

Apache Kafka 是一種高吞吐、分布式的流處理平臺,由 LinkedIn 開發并于 2011 年開源。它具有高伸縮性、高可靠性和低延遲等特點,因此在大型數據處理場景中備受青睞。Kafka 可以處理多種類型的數據,如事件、日志、指標等,廣泛應用于實時數據流處理、日志收集、監控和分析等領域。

通常用作消息隊列和流處理,作為消息隊列的時候,競品有RabbitMQ、ActiveMQ、RocketMQ、Apache Pulsar等。

2. Kafka架構

下面介紹一下Kafka架構中最重要的三個參與者:

  1. Producer(生產者):生產者負責將消息發送到 Kafka 集群。
  2. Consumer(消費者):消費者負責從 Kafka 集群中拉取并消費消息。
  3. Broker(代理節點):Broker 是 Kafka 集群中的一個服務代理節點,可以看作是一臺服務器。Kafka 集群通常由多個 Broker 組成,以實現負載均衡和容錯。

圖片

3. 分區與副本

Kafka為了對消息進行分類,引入了Topic(主題)的概念。生產者在發送消息的時候,需要指定發送到某個Topic,然后消息者訂閱這個Topic并進行消費消息。

Kafka為了提升性能,又在Topic的基礎上,引入了Partition(分區)的概念。Topic是邏輯概念,而Partition是物理分組。一個Topic可以包含多個Partition,生產者在發送消息的時候,需要指定發送到某個Topic的某個Partition,然后消息者訂閱這個Topic并消費這個Partition中的消息。

Kafka為了提高系統的吞吐量和可擴展性,把一個Topic的不同Partition放到多個Broker節點上,充分利用機器資源,也便于擴展Partition。

Kafka為了保證數據的安全性和服務的高可用,又在Partition的基礎上,引入Replica(副本)的概念。一個Partition包含多個Replica,Replica之間是一主多從的關系,有兩種類型Leader Replica(領導者副本)Follower Replica(跟隨者副本),Replica分布在不同的Broker節點上。

Leader Replica負責讀寫請求,Follower Replica只負責同步Leader Replica數據,不對外提供服務。當Leader Replica發生故障,就從Follower Replica選舉出一個新的Leader Replica繼續對外提供服務,實現了故障自動轉移。

下圖展示的是,同一個Topic的不同Partition在Broker節點的分布情況:

圖片

Kafka為了提升Replica的同步效率和數據寫入效率,又對Replica進行分類。針對一個Partition的所有Replica集合統稱為AR(Assigned Replicas,已分配的副本),包含Leader Replica和Follower Replica。與Leader Replica保持同步的Replica集合稱為ISR(In-Sync Replicas,同步副本),與Leader Replica保持失去同步的Replica集合稱為OSR(Out-of-Sync Replicas,失去同步的副本)AR = ISR + OSR

Leader Replica將消息寫入磁盤前,需要等ISR中的所有副本同步完成。如果ISR中某個Follower Replica同步數據落后Leader Replica過多,會被轉移到OSR中。如果OSR中的某個Follower Replica同步數據追上了Leader Replica,會被轉移到ISR中。當Leader Replica發生故障的時候,只會從ISR中選舉出新的Leader Replica。

4. 偏移量

Kafka為了記錄副本的同步狀態,以及控制消費者消費消息的范圍,于是引入了LEO(Log End Offset,日志結束偏移量)HW(High Watermark,高水位)。

LEO表示分區中的下一個被寫入消息的偏移量,也是分區中的最大偏移量。LEO用于記錄Leader Replica和Follower Replica之間的數據同步進度,每個副本中各有一份。

HW表示所有副本(Leader和Follower)都已成功復制的最小偏移量,是所有副本共享的數據值。換句話說,HW之前的消息都被視為已提交,消費者可以消費這些消息。用于確保消息的一致性和只讀一次。

下面演示一下LEO和HW的更新流程:

  1. 初始狀態,三個副本中各有0和1兩條消息,LEO都是2,位置2是空的,表示是即將被寫入消息的位置。HW也都是2,表示Leader Replica中的所有消息已經全部同步到Follower Replica中,消費者可以消費0和1兩條消息。

圖片

  1. 生產者往Leader Replica中發送兩條消息,此時Leader Replica的LEO的值增加2,變成4。由于還沒有開始往Follower Replica同步消息,所以HW值和Follower Replica中LEO值都沒有變。由于消費者只能消費HW之前的消息,也就是0和1兩條消息。

圖片

  1. Leader Replica開始向Follower Replica同步消息,同步速率不同,Follower1的兩條消息2和3已經同步完成,而Follower2只同步了一條消息2。此時,Leader和Follower1的LEO都是4,而Follower2的LEO是3,HW表示已成功同步的最小偏移量,值是3,表示此時消費者只能讀到0、1、2,三條消息。

圖片

  1. 所有消息都同步完成,三個副本的LEO都是4,HW也是4,消費者可以讀到0、1、2、3,四條消息。

圖片

5. 消費者組

Kafka為了提高消息的處理效率,引入了消費者組的概念。一個消費者組(Consumer Group)包含多個消費者,一個消費者組可以同時訂閱多個Topic,一個Topic也可以同時被多個消費者組訂閱。

為了保證同一個Partition的消息被順序處理,針對一個消費者組,一個Partition的消息只會交給這個消息者組的一個消費者處理。

圖片

6. 總結

本文簡單介紹了Kafka架構,以及架構中涉及到底的一些名詞概念,包括Producer(生產者)、Consumer(消費者)、Broker(代理節點)、Topic(主題)、Partition(分區)、Leader Replica(領導者副本)、Follower Replica(跟隨者副本)、LEO(Log End Offset,日志結束偏移量)、HW(High Watermark,高水位)、Consumer Group(消費者組)等。


責任編輯:武曉燕 來源: 一燈架構
相關推薦

2023-09-11 08:13:03

分布式跟蹤工具

2019-05-14 09:31:16

架構整潔軟件編程范式

2020-10-18 07:32:06

SD-WAN網絡傳統廣域網

2018-11-14 11:57:28

2017-11-13 15:16:56

GitHub代碼倉庫

2022-06-20 09:01:23

Git插件項目

2020-02-18 16:20:03

Redis ANSI C語言日志型

2023-02-10 09:04:27

2022-08-01 11:33:09

用戶分析標簽策略

2021-04-08 07:37:39

隊列數據結構算法

2022-07-05 09:24:01

Pandas表格樣式Python

2023-10-30 07:12:04

2020-07-03 08:21:57

Java集合框架

2018-05-22 08:24:50

PythonPyMongoMongoDB

2023-10-17 08:15:28

API前后端分離

2024-09-23 08:00:00

消息隊列MQ分布式系統

2017-03-11 22:19:09

深度學習

2022-04-07 10:39:21

反射Java安全

2023-11-18 09:30:42

模型AI

2024-07-31 15:39:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区不卡视频 | 欧美大片一区 | 国产亚洲精品久久久优势 | 精品一区av | 麻豆国产一区二区三区四区 | 久久人人爽人人爽人人片av免费 | 免费影视在线观看 | 99re热这里只有精品视频 | re久久 | 天天舔天天 | 黄色播放 | 精品国产一区二区三区久久久久久 | 成人一区在线观看 | 一区二区三区视频免费看 | 一区二区三区精品 | 91精品综合久久久久久五月天 | 免费黄色a视频 | 国产精品777一区二区 | 成人黄色三级毛片 | 久久久久久久av麻豆果冻 | 五月激情久久 | 网页av | 一色一黄视频 | 精品欧美一区二区三区久久久 | 国产成人精品免费视频大全最热 | 三级视频在线观看电影 | 午夜日韩视频 | 日韩精品一区在线观看 | 日本一二三区电影 | 91精品国产99久久 | 国产一区二区免费电影 | 精品不卡 | 国产成人a亚洲精品 | 成人av免费播放 | 色婷婷综合久久久中字幕精品久久 | 一级黄片一级毛片 | 成人国产精品色哟哟 | 超碰在线播 | 国产精品一区二区在线播放 | 色狠狠桃花综合 | 精品国产视频在线观看 |