1.
kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。
1.1 broker:安装了kafka服务的机器称之为broker
1.2 topic(主题):是用来存放消息,也可以做消息分类
一个topic实际是由多个partition组成的
1.3 producer:生产者,向topic中生产数据。生产者可以是java客户端、flume等
1.4 consumer:消费者,从topic中拿取数据。消费者可以是java客户端、spark streaming等
2.生产者怎样往topic中写数据
2.1 默认是轮询放数据的
2.1.1 分别监控2个分区的主分区中的 00000000000000000000.log文件
2.1.2 在任意一台机器上启动一个生成者(bin目录下)
./kafka-console-producer.sh --topic t1807a1 --broker-list hadoop03:9092
你可以发现数据是轮询放入2个分区的
2.2还可以将生产的数据指定写入到某一分区中(代码可以实现,没有该命令)