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

Kafka 消息存儲及檢索

開發 架構
Kafka中可以創建多個消息隊列,稱為topic,消息的生產者向topic中發布消息,消息的消費者從topic中獲取消息

Kafka是一個分布式的消息隊列系統,消息存儲在集群服務器的硬盤

Kafka中可以創建多個消息隊列,稱為topic,消息的生產者向topic中發布消息,消息的消費者從topic中獲取消息

消息是海量的,為了消息的讀寫性能,topic被分為多個部分,稱為partition,kafka把每個topic的每個partition均勻的分布在集群中的不同服務器上

所以從整體來看,Kafka的邏輯關系就是:生產者向topic中的某個partition發送消息,消費者從partition獲取消息

實際的存儲結構中,partition并不是存放消息的物理文件,而是一個目錄,命名規則是topic名稱加上partition序號,其中包含了這個partition的N個分段存儲文件segment。

分段存儲也是因為partition內容非常多,分成小文件更便于消息的寫入和檢索。

segment也不是一個文件,是由兩個物理文件構成:

.index索引文件、.log消息內容文件

這兩個文件是成對出現,名稱一樣,只是后綴不同

實際的存儲結構就是這樣的

消息是按照順序產生的,所以每個消息都有一個序號,稱為offset,表示partiion的第多少個message,從0開始

每個segment存儲了一段offset區間內的消息

segment文件以offset區間的起始值命名,長度固定20位,不足的位用0填充

例如存儲了第0-20條的消息,segment文件就是:

00000000000000000000.index

00000000000000000000.log

index文件結構很簡單,每一行都是一個key,value對

key 是消息的序號offset

value 是消息的物理位置偏移量

1,0

3,299

6,497

...

說明的就是第幾個消息的物理位置是哪兒

log文件中保存了消息的實際內容,和相關信息

如消息的offset、消息的大小、消息校驗碼、消息數據等

消息檢索過程示例

例如讀取offset=368的消息

(1)找到第368條消息在哪個segment

從partition目錄中取得所有segment文件的名稱,就相當于得到了各個序號區間

例如有3個segment

00000000000000000000.index

00000000000000000000.log

00000000000000000300.index

00000000000000000300.log

00000000000000000600.index

00000000000000000600.log

根據二分查找,可以快速定位

第368條消息是在00000000000000000300.log文件中

(2)從index文件中找到其物理偏移量

讀取00000000000000000300.index

以368為key,得到value,如299,就是消息的物理位置偏移量

(3)到log文件中讀取消息內容

讀取 00000000000000000300.log

從偏移量299開始讀取消息內容

完成了消息的檢索過程

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-08-30 13:08:56

Kafka網絡通信

2017-10-11 15:08:28

消息隊列常見

2022-11-02 10:08:46

分布式高并發消息中間件

2021-10-03 21:41:13

RocketMQKafkaPulsar

2022-11-14 00:21:07

KafkaRebalance業務

2024-03-20 08:33:00

Kafka線程安全Rebalance

2021-08-04 07:47:18

Kafka消息框架

2017-07-27 14:32:05

大數據分布式消息Kafka

2011-07-22 14:30:44

存儲過程

2019-11-19 14:48:00

Kafka文件存儲

2018-03-01 08:56:20

存儲能力定位

2010-01-04 14:40:51

ADO 檢索

2024-01-11 09:53:16

Kafka中間件編程語言

2021-08-30 11:36:23

微服務開發技術

2025-06-18 07:09:05

2020-05-15 10:09:38

Kafka存儲讀取

2012-03-14 11:38:16

ibmdw

2020-10-22 09:37:39

存儲Kafka設計

2017-08-30 16:47:49

Kafka設計原理

2021-02-24 08:38:48

Kafka消息Consumer
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99九九久久| 欧美日韩精品久久久免费观看 | 日韩精品在线看 | 久久91精品久久久久久9鸭 | 九九精品影院 | 国产精品精品视频一区二区三区 | 国产伦一区二区三区 | a网站在线观看 | www.一区二区三区 | 日韩精品一区二区三区 | 国产精品美女久久久久aⅴ国产馆 | 综合国产第二页 | 色综合一区二区 | 中文二区 | 美女网站视频免费黄 | 中国美女av| 成人综合一区 | 国产久视频 | 国产精品片 | 成人精品视频在线 | 中文字幕在线观看第一页 | 手机看黄av免费网址 | 自拍视频网 | 日韩一区二区三区视频在线观看 | 中文字幕乱码一区二区三区 | 欧美αv | 免费国产一区二区视频 | 九九在线视频 | 亚洲精品1区2区3区 91免费看片 | 国产精品日日做人人爱 | 四虎影院免费在线 | 欧美精品一区二区三区在线播放 | 亚洲精品一区二区 | 黑人粗黑大躁护士 | 精品少妇一区二区三区日产乱码 | 国产精品久久久久久久久久久久久 | 欧美亚洲激情 | 国产免费看 | www.天天操 | 操视频网站 | 电影91久久久 |