1、如何获取 topic 主题的列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
2、生产者和消费者的命令行是什么?
生产者在主题上发布消息:
bin/kafka-console-producer.sh --broker-list 192.168.43.49:9092 --topic
Hello-Kafka
注意这里的 IP 是 server.properties 中的 listeners 的配置。接下来每个新行就是
输入一条新消息。
消费者接受消息:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic
Hello-Kafka --from-beginning
3、consumer 是推还是拉?
Kafka 最初考虑的问题是,customer 应该从 brokes 拉取消息还是 brokers 将消
息推送到 consumer,也就是 pull 还 push。在这方面,Kafka 遵循了一种大部分
消息系统共同的传统的设计:producer 将消息推送到 broker,consumer 从
broker 拉取消息。
一些消息系统比如 Scribe 和 Apache Flume 采用了 push 模式,将消息推送到下
游的 consumer。这样做有好处也有坏处:由 broker 决定消息推送的速率,对于
不同消费速率的 consumer 就不太好处理了。消息系统都致力于让 consumer 以
最大的速率最快速的消费消息,但不幸的是,push 模式下,当 broker 推送的速
率远大于 consumer 消费的速率时,consumer 恐怕就要崩溃了。最终 Kafka 还
是选取了传统的 pull 模式。