概念:node
kafka是一種消息中間件bootstrap
做用:vim
解耦、冗餘、提升擴展性、緩衝服務器
保證順序、靈活、削峯填谷異步
異步通訊spa
kafla角色code
producer: 生產者,負責發佈消息server
consumer: 消費者,負責讀取處理消息中間件
topic: 消息的類別blog
Partition: 每一個Topic包含一個或多個Partition
Broker: Kafka集羣包含一個或復哦歌服務器
** Kafka經過Zookeeper管理集羣配置,選舉Leader
源碼安裝 /usr/local/kafka/config
修改配置文件 vim server.properties
broker.id=22 zookeeper.connect=node1:2181,node2:2181,node3:2181
拷貝 kafka 到其餘主機,並修改 broker.id ,不能重複
rsync -aSH --delete /usr/local/kafka node1:/usr/local/
啓動集羣(全部節點)
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
驗證配置,傳件一個topic
/usr/local/kafka/bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --zookeeper node3:2181 --topic aa
模擬生產者,發佈消息
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list node2:9092 --topic aa //寫一個數據
模擬消費者,接收消息
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic aa