Kafka笔记-搭建及单机生产者、消费者操作
Kafaka面向數(shù)據(jù)流的生成轉(zhuǎn)換消費的流處理平臺
?
Kafaka基本概念
Producer:消息和數(shù)據(jù)的生產(chǎn)者,向Kafka的一個topic發(fā)布消息的進程/代碼/服務(wù)
Consumer:消息和數(shù)據(jù)的消費者,訂閱數(shù)據(jù)Topic并且處理其發(fā)布消息的進程/代碼/服務(wù)
?
Consumer Group:邏輯概念,對于同一個topic,會廣播給不同的group,一個group中,只有一個sonsumer可以消費該消息
?
?
Kafka基本概念
Broker:物理概念,Kafka集群中每個Kafka結(jié)點。
Topic:邏輯概念,Kafka消息類別,對數(shù)據(jù)進行分區(qū)、隔離
Partition:物理概念,Kafka下數(shù)據(jù)存儲的基本單元。一個Topic數(shù)據(jù),會分散存儲到多個Partitoin,每一個Partition是有序的。
Replication:同一個Partition可能會有多個Replica,多個Replica之間的數(shù)據(jù)是一樣的。
Replication Leader:一個Partition的多個Replica上,需要一個Leader負責該Partition上與Producer和Consumer交互。
ReplicaManager:負責管理當前broker所有分區(qū)和副本的信息,處理KafkaController發(fā)起的一些請求,副本狀態(tài)的切換、添加/讀取消息等。
?
?
Partition:
? ? ·每一個Topic被切分為多個Partitions
? ? ·消費者數(shù)目少于或等于Partition的數(shù)目
? ? ·Broker Group中每一個Broker保存Topic的一個或多個Partitions
? ? ·Consumer Group中的僅有一個Consumer讀取Topic的一個或多個Partitions,并且是唯一的Consumer
?
Replication:
? ? ·當集群中有Broker掛掉的情況,系統(tǒng)可以主動使Replicas提供服務(wù)
? ? ·系統(tǒng)默認設(shè)置一個Topic的replication系數(shù)為1,可以在創(chuàng)建Topic時單獨設(shè)置
?
?
Replication的特點
? ? ·Replication的基本單位是Topic的Partition
? ? ·所有的讀和寫都從Leader進,Followers值是作為備份
? ? ·Follower必須能夠即使復制Leader的數(shù)據(jù)
? ? ·增加容錯性與擴展性
?
Kafka消息結(jié)構(gòu)
Kafaka面向數(shù)據(jù)流的生成轉(zhuǎn)換消費的流處理平臺
?
Kafaka基本概念
Producer:消息和數(shù)據(jù)的生產(chǎn)者,向Kafka的一個topic發(fā)布消息的進程/代碼/服務(wù)
Consumer:消息和數(shù)據(jù)的消費者,訂閱數(shù)據(jù)Topic并且處理其發(fā)布消息的進程/代碼/服務(wù)
?
Consumer Group:邏輯概念,對于同一個topic,會廣播給不同的group,一個group中,只有一個sonsumer可以消費該消息
?
?
Kafka基本概念
Broker:物理概念,Kafka集群中每個Kafka結(jié)點。
Topic:邏輯概念,Kafka消息類別,對數(shù)據(jù)進行分區(qū)、隔離
Partition:物理概念,Kafka下數(shù)據(jù)存儲的基本單元。一個Topic數(shù)據(jù),會分散存儲到多個Partitoin,每一個Partition是有序的。
Replication:同一個Partition可能會有多個Replica,多個Replica之間的數(shù)據(jù)是一樣的。
Replication Leader:一個Partition的多個Replica上,需要一個Leader負責該Partition上與Producer和Consumer交互。
ReplicaManager:負責管理當前broker所有分區(qū)和副本的信息,處理KafkaController發(fā)起的一些請求,副本狀態(tài)的切換、添加/讀取消息等。
?
?
Partition:
? ? ·每一個Topic被切分為多個Partitions
? ? ·消費者數(shù)目少于或等于Partition的數(shù)目
? ? ·Broker Group中每一個Broker保存Topic的一個或多個Partitions
? ? ·Consumer Group中的僅有一個Consumer讀取Topic的一個或多個Partitions,并且是唯一的Consumer
?
Replication:
? ? ·當集群中有Broker掛掉的情況,系統(tǒng)可以主動使Replicas提供服務(wù)
? ? ·系統(tǒng)默認設(shè)置一個Topic的replication系數(shù)為1,可以在創(chuàng)建Topic時單獨設(shè)置
?
?
Replication的特點
? ? ·Replication的基本單位是Topic的Partition
? ? ·所有的讀和寫都從Leader進,Followers值是作為備份
? ? ·Follower必須能夠即使復制Leader的數(shù)據(jù)
? ? ·增加容錯性與擴展性
?
Kafka消息結(jié)構(gòu)
CRC32判斷消息是否完整,校驗位
Magic,判斷是不是kafka的消息,如果不是,那就不需要進行分析了,這里如果要偽造,這個地方是關(guān)鍵。大部分的MQ都有這個
在kafka的文件中是存中是存中zookeeper的,如果不用搭建集群,是可以直接使用的。
解壓后:
tar -zxvf kafka_2..12-2.0.0.tgz先啟動zookeeper
./zookeeper-server-start.sh ../config/zookeeper.properties然后就可以直接啟動
./kafa-server-start.sh ../config/server.properties?
創(chuàng)建一個topic
./kafka-topic.sh --create --zookeeper localhost:2181 --replication-facotr 1 --partitions 3 --topic HelloWorldtopic查看命令
./kafka-topic.sh --create --zookeeper localhost:2181 --replication-facotr 1 --partitions 3 --topic HelloWorld啟動一個生產(chǎn)者生成東西
./kafka-console-producer.sh --broker-list localhost:9092 --topic HelloWorld啟動一個消費者消費東西
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic HelloWorld --from-beginning下面是聯(lián)合
生產(chǎn)者:
消費者:
總結(jié)
以上是生活随笔為你收集整理的Kafka笔记-搭建及单机生产者、消费者操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java动态加载类(对反射的基本理解)
- 下一篇: C++|Java混合实验-java搭建p