Kafka系列 Kafka核心概念

2021-09-01 21:03:55 字數 1232 閱讀 1157

kafka系列文章:

kafka系列 —— 入門及應用場景 & 部署 & 簡單測試

bin/kafka-topics.sh --create \

--zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka \

--replication-factor 3 --partitions 3 --topic ruozedata

針對上述建立topic的命令,進行解讀:

第一行列舉出了topic的名稱、分割槽數、副本數

partition:0 & partition:1 & partition:2 分別對應 ruozedata-0 & ruozedata-1 & ruozedata-2

問題:1個topic為什麼要分割成多個partition?

思考:1個topic向1個檔案去讀,和向10個檔案去讀,誰的效率高呢?

個人經驗總結:

–replication-factor 3

–partitions 數量會取決於你的broker數量,也就是說取決於裝了幾台kafka

生產上的引數:

–replication-factor 3 --partitions 8

設定成8個partition的原因:

適當的partition:

雖然我們增加了分割槽數,提高了kafka寫和讀的吞吐量,但是如果過多的分割槽數未必好

1個集群有多個topic,必然是有多個分割槽,那麼對於1臺機器上也是會有多個topic的分割槽,如:ruozedata-0 、test-0、jepson-0等等(不同的topic的partition)

當我們的計算程式來進行讀取的時候,linux開啟檔案的控制代碼也就需要的更多了,就需要更多的檔案數、程序數,那就需要去調優了

建議:乙個集群上不要有過多的topic

正常的架構:producer —> broker —> consumer(broker即我們部署的kafka)

kafka學習總結之kafka核心

1 kafka核心元件 1 replication 副本 partition 分割槽 乙個topic可以有多個副本,副本的數量決定了有多少個broker存放寫入的資料 副本是以partition為單位的,存放副本即是備份若干個partition,但是只有乙個partition被選為leader用於讀...

kafka系列4 什麼是kafka

關於什麼是kafka,看過乙個簡單例子。舉個例子,生產者消費者,生產者生產雞蛋,消費者消費雞蛋,生產者生產乙個雞蛋,消費者就消費乙個雞蛋,假設消費者消費雞蛋的時候噎住了 系統宕機了 生產者還在生產雞蛋,那新生產的雞蛋就丟失了。再比如生產者很強勁 大交易量的情況 生產者1秒鐘生產100個雞蛋,消費者1...

Kafka核心總結

乙個kafka的message由乙個固定長度的header和乙個變長的訊息體body組成。header部分由乙個位元組的magic 檔案格式 和四個位元組的crc32 用於判斷body訊息體是否正常 構成。當magic的值為1時,會在magic和crc32之間多乙個位元組的資料 attributes...