文章目錄
- 前言
- kafka 常用知識點
- 1. kafka 概念
- 2. 消息共享和廣播
- 3. 分區和副本數量奇偶數
前言
??如果您覺得有用的話,記得給博主點個贊,評論,收藏一鍵三連啊,寫作不易啊^ _ ^。
??而且聽說點贊的人每天的運氣都不會太差,實在白嫖的話,那歡迎常來啊!!!
kafka 常用知識點
1. kafka 概念
Kafka 是一個 分布式、高吞吐、可持久化的消息隊列系統.。
- 生產者(Producer):寫信的人,負責“投遞消息”。
- 消費者(Consumer):收信的人,負責“接收消息”。
- 主題(Topic):信箱,按主題投放和接收信。
- Broker(代理):Kafka 服務器,就是郵局,負責存儲和投遞。
- 分區(Partition):每個信箱的子格子,信按順序放入格子中。
- 消費組(Consumer Group):一群消費者在“輪流收信”。
2. 消息共享和廣播
Kafka 的消息共享(負載)和廣播(全量)消費行為,是通過自定義的消費組 group.id來決定的。
示例:
不同的 group.id(廣播模式):
@KafkaListener(topics = "log-topic", groupId = "group-A") // A
@KafkaListener(topics = "log-topic", groupId = "group-B") // B
相同的 group.id(集群分攤模式)
@KafkaListener(topics = "log-topic", groupId = "group-A") // A1
@KafkaListener(topics = "log-topic", groupId = "group-A") // A2
3. 分區和副本數量奇偶數
屬性 | 是否建議奇數 | 說明 |
---|---|---|
分區數 | ? 無要求 | 根據并發需求、消費者數量設定即可 |
副本數 | ? 建議奇數 | 多數副本機制保證高可用(如 3 副本) |
4、Kafka 主題管理相關命令示例(基于 kafka-topics.sh)
創建主題,3個分區,副本數2
kafka-topics.sh --create --topic my_topic --partitions 3 --replication-factor 2 --bootstrap-server localhost:9092
查看所有主題
kafka-topics.sh --list --bootstrap-server localhost:9092
查看某個主題詳細信息
kafka-topics.sh --describe --topic my_topic --bootstrap-server localhost:9092
刪除主題(需要broker配置允許刪除)
kafka-topics.sh --delete --topic my_topic --bootstrap-server localhost:9092