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...