Kafka 分布式消息队列
包含producer、broker、consumer、zookeeper。
producer向broker发送消息,可通过任意broker发现其他broker。
消息组成;topic,key、value、timestamp
broker是producer和consumer之间的桥梁。
每个消息保存成多副本,默认是3.默认保存一周。
用户划分message的逻辑概念,一个topic可以分布到不同broker上。
Kafka横向扩展和一切并行化的基础,每个topic至少被切分成1个partition。
消息在Partition中是有编号的,称为“offset”
Kafka以Partition为单位对消息进⾏备份(replica) ,每个partition可以配置至少有1个replica 。
一个partition只能被一个consumer消费。
Kafka安装部署
首先启动zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties & |
再启动broker:
bin/kafka-server-start.sh -daemonconfig/server.properties
使用命令查看kafkaBroker是否启动更成功:jps | grep Kafka
创建topic,名字为test,包含5个分区,副本数为1,数据保留时长为2天(默认是1天)毫秒:
bin/kafka-topics.sh --create --zookeeper master:2181--replication-factor 1 --partitions 5 --topic test --configdelete.retention.ms=172800000
producer:bin/kafka-console-producer.sh --broker-list master:9092--topic test
consumer:bin/kafka-console-consumer.sh --bootstrap-servermaster:9092 --topic test --from-beginning