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

談談你對Kafka數據存儲原理的理解

云計算 Kafka
今天,我給大家來聊一聊我對Kafka零拷貝原理的理解。

一位5年工作經驗的小伙伴面試的時候被問到這樣一個問題,說”談談你對Kafka數據存儲原理的理解“。然后,這位小伙伴突然愣住了,什么是零拷貝,零拷貝跟Kafka有關系嗎?

那么今天,我給大家來聊一聊我對Kafka零拷貝原理的理解。

1、Topic主題

在Kafka中,這個用 來存儲消息的隊列叫做Topic,它是一個邏輯的概念,可以理解為一組消息的集合。

生產者和Topic以及Topic和消費者的關系都是多對多。一個生產者可以發送消息到多個Topic,一個消費者也可以從多個Topic獲取消息(但是不建議這么做)。

圖片

生產者發送消息時,如果Topic不存在,Kafka默認會自動創建。

2、Partition分區

首先,Kafka為了實現橫向擴展,它會把不同的數據存放在不同的Broker上,同時為了降低單臺服務器的訪問壓力,把一個Topic中的數據分隔成多個Partition。在服務器上,每個Partition都有一個物理目錄,Topic名字后面的數字標號即代表分區。比如創建一個名為mytopic的主題,數據目錄被分布到了3臺機器。

如圖所示:

圖片

mytopic-0存在A節點,mytopic-1存在B節點,mytopic-2存在C節點。

3、Replica副本

另外,Kafa為了提高分區的可靠性,又設計了副本機制。我們創建Topic的時候,通過指定replication-factor副本因子,來確定Topic的副本數。當然,副本因子數必須小于等于節點數,否則會報錯。這樣就可以保證,絕對不會有一個分區的兩個副本分布在同一個節點上,不然副本機制也失去了備份的意義了。

如圖所示,創建了一個3個分區3個副本的Topic a3part3rep,被均勻分布到了3個Broker節點上,每個Broker節點互為備份。

圖片

這些所有的副本分為兩種角色,Leader對外提供讀寫服務。Follower唯一的任務就是從Leader異步拉取數據,圖中紅色的副本為Leade,也被均勻分布在各個節點上,可以保證讀寫均勻,這樣的設計也稱為單調讀一致性。

?4、Segment分段

Kakfa為了防止Log不斷追加導致文件過大,導致檢索消息效率變低,一個Partition超出一定大小的時候,就被切割為多個Segment來組織數據。在磁盤上,每個Segment由一個log文件和2個index文件組成。

圖片

如圖所示,這三個文件是成套出現的。其中.index是用來存儲Consumer的Offset偏移量的索引文件,.timeindex是用來存儲消息時間戳的索引文件,log文件就是用來存儲具體的數據文件。

以切割時記錄的Offset值作為文件的名字。它的文件結構是這樣的,如圖所示:

圖片

?5、Index索引

前面我們講到Kafka設計了兩種索引,一種是偏移量索引文件,記錄的是Offset和消息在Log文件中的位置映射關系。一種是時間戳索引文件,記錄的是時間戳和Offset的關系。為了提高檢索效率Kafka并不會為每一條消息都會建立索引,而是采用稀疏索引。也就是說隔一批消息才產生一條索引記錄。如圖所示:

圖片

責任編輯:姜華 來源: Tom彈架構
相關推薦

2022-09-23 11:00:27

KafkaZookeeper機制

2023-11-28 12:25:02

多線程安全

2022-06-30 09:10:33

NoSQLHBaseRedis

2022-09-06 11:13:16

接口PipelineHandler

2022-08-26 00:02:03

RocketMQ單體架構MQ

2022-09-19 07:57:59

云服務互聯網基礎設施

2024-09-02 16:10:19

vue2前端

2022-08-29 16:03:33

狀態流轉Java

2024-09-20 05:46:00

2024-09-11 16:49:55

2022-10-09 15:18:31

SwaggerOpenAPI工具

2022-09-09 10:15:06

OAuthJava

2022-03-21 09:05:18

volatileCPUJava

2024-10-24 16:14:43

數據傳輸CPU零拷貝

2025-03-21 00:00:05

Reactor設計模式I/O 機制

2022-08-26 00:21:44

IO模型線程

2024-12-06 14:34:00

Spring過濾器

2025-03-07 00:11:00

JWTJSONSession

2024-09-27 15:43:52

零拷貝DMAIO

2025-02-21 15:25:54

虛擬線程輕量級
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美亚洲综合 | 久久精品伊人 | 日韩高清中文字幕 | 久久亚洲天堂 | 国产精品久久久久久久久久久免费看 | 亚洲高清视频一区二区 | 欧美精品成人影院 | 国产中文 | 99久久日韩精品免费热麻豆美女 | 自拍偷拍中文字幕 | www成人免费视频 | 久久中文字幕在线 | 毛片a级毛片免费播放100 | 国产一区二区电影网 | 成在线人视频免费视频 | 综合久久综合久久 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 亚洲区视频 | 亚洲视频免费在线观看 | 五月激情六月婷婷 | 久久大陆 | 久久成人免费视频 | 国产亚洲一区二区三区 | 特黄级国产片 | 99在线资源 | 欧美专区在线 | 一区二区三区免费在线观看 | 日韩精品999 | 美国av片在线观看 | 免费福利视频一区二区三区 | 日韩精品免费在线观看 | 亚洲综合精品 | 在线午夜 | 午夜精品在线观看 | 国产精品久久久久久久久久久新郎 | 国产精品精品视频一区二区三区 | av成年人网站 | 日韩精品一区二区三区免费观看 | 欧美久久一区二区 | 精品成人佐山爱一区二区 | 欧美a√|