kafka基礎知識
kafka基礎概念
kafka的AKF切分的三個維度
1.topic
邏輯元件
2.partition 分割槽
物理元件 一個topic包含多個partition
分割槽內部是有序的,分割槽的外部是無序的
一個消費者只在一個分割槽中按照順序取資料的話,那麼它一定是像取佇列資料一樣,是按照推送到佇列的順序取的分割槽中的資料
3.副本
kafka只能在主分片上進行讀寫,副本只做資料備份不接受任何的讀寫請求
kafka的broker概念
borker就是kafka的一個jvm程序
offset
訊息偏移量
消費者在正常執行的時候在記憶體中維護了自身的offset
老版本kafka把consumer的offset儲存到zookeeper中
新版kafka建立一個topic專門用來儲存offset
offset儲存位置
zk, kafka topic, redis,mysql
offset儲存頻率
根據業務不同,採用不同的方式
根據offset不同的維護方式,消費者在消費的時候會有訊息的丟失和訊息的重複消費情況發生
producer 生產者
生產者是用來向partition填充資料用的
consumer 消費者
消費者是可以分組的,組和組之間是相互隔離的
kafka分割槽(partition)的作用
kafka的offset記錄方式
kafka基礎操作