kafka简单实战

主题

  • 创建主题:
./kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
  • 多分区主题:
./kafka-topics.sh --create --topic mult-part ‐‐replication‐factor 1 --partitions 2 --bootstrap-server localhost:9092

在这里插入图片描述

  • 查看主题信息:
./kafka-topics.sh --describe --topic mult-part  --bootstrap-server localhost:9092
  • 删除主题:
./kafka-topics.sh --delete --topic jh-topic --bootstrap-server localhost:9092
  • 列出所有主题:
./kafka-topics.sh --list --bootstrap-server localhost:9092

显示主题信息:

./kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092

消息

发消息到主题:

./kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092

消费信息

  • 从最开始消费消息
./kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
  • 消费最新消息
./kafka-console-consumer.sh --topic quickstart-events --bootstrap-server localhost:9092
  • 消费多主题
./kafka-console-consumer.sh --whitelist "quickstart-events|jh-topic" --bootstrap-server localhost:9092
  • 单播消费

一条消息只能被某一个消费者消费的模式,类似queue模式,只需让所有消费者在同一个消费组里即可

./kafka-console-consumer.sh --consumer-property group.id=testGroup --topic jh-topic --bootstrap-server localhost:9092 

在这里插入图片描述

  • 多播消费
    如下图,此时新在这里插入图片描述

一条消息能被多个消费者消费的模式,类似发布订阅模式,针对Kafka同一条消息只能被同一个消费组下的某一个消费者消费的特性,要实现多播只要保证这些消费者属于不同的消费组即可。我们再增加一个消费者,该消费者属于testGroup-2消费组,结果两个客户端都能收到消息

./kafka-console-consumer.sh --consumer-property group.id=testGroup2 --topic jh-topic --bootstrap-server localhost:9092

消费组

  • 查看消费组
./kafka-consumer-groups.sh --list --bootstrap-server localhost:9092
  • 查看消费组的消费偏移量
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group testGroup

current-offset:当前消费组的已消费偏移量

log-end-offset:主题对应分区消息的结束偏移量(HW)

lag:当前消费组未消费的消息数

kafka集群实战

对于kafka来说,一个单独的broker意味着kafka集群中只有一个节点。要想增加kafka集群中的节点数量,只需要多启动几个broker实例即可。

为了有更好的理解,现在在一台机器上同时启动三个broker实例。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 集群发送信息:
./kafka-console-producer.sh --broker-list localhost:9092,localhost:9093,localhost:9094 --topic replicat-topic-r

在这里插入图片描述

  • 集群消费信息:
./kafka-console-consumer.sh --bootstrap-server localhost:9092,localhost:9093,localhost:9094 --topic replicat-topic-r --from-beginning

在这里插入图片描述

如果kafka集群里突然有一个节点宕机,绑定了集群的producer依然可以发送消息,消费者绑定了集群的也可以消费到消息。但如果消费者只绑定了一个节点,而刚好这个节点宕机,那么将消费不到信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值