(人物设定初步了解kafka的我)
我司现在有三台kafka服务器作为一个集群
需求是我写了一个监听器去监听活动失败的情况,如果活动失败则调用一个统计接口做数据统计
我需要从失败事件的随路数据中取一些数据,做一些判断.
现在我想从集群中看一下失败事件中的随路数据是否完整正确
于是,我xshell连接上了三台服务器并且运行以下命令
./kafka-console-consumer.sh --bootstrap-server broker1IP:9092 --topic topicname
./kafka-console-consumer.sh --bootstrap-server broker2IP:9092 --topic topicname
./kafka-console-consumer.sh --bootstrap-server broker3IP:9092 --topic topicname
发现只要发送一个事件三个服务器都可以收到事件中的消息
怪了,为什么三台都会显示.
我第一反应是:这是否是传说中的leader和follower 同步策略
我问了一下我的leader ,
leader:.....,你知道你这个命令是什么意思吗?
这个命令就是相当于创建了一个消费者去消费了队列中的消息!
你这个3个服务器相当于启动了3个消费者去消费了,同一个消息三次!
我:不对啊,同一个消息不能被消费三次啊!?
leader:......