1 Star 0 Fork 0

郑印/some-test

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
gc
kafka
src/main/java/izy/sometest/kafka
mq
conf
item1
item2
item3
Consumer.java
Producer.java
Topic.java
readme.md
item4
item5
package-info.java
分区.png
发布订阅.png
消费者.png
集群.jpeg
stream
package-info.java
.gitignore
pom.xml
sentinel
.gitignore
readme.md
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
郑印 + 9b41d33 4年前
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
+
4年前
+
4年前
+
4年前
+
4年前
Loading...
README

Kafka 多个 Broker , 单复制测试

启动Broker

  • step
  1. 启动 Brokers

    /opt/app/kafka/bin/start-server.sh
    
  2. 创建测试 Topic , 1 个 replication factor

    kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3  --topic test.kafka.topic.item3
    
  3. 查看 Topic ,确定只有一个负责3个分区

    kafka-topics.sh --describe --zookeeper hadoop:2181 --topic test.kafka.item3
    
    Topic:test.kafka.item3	PartitionCount:3	ReplicationFactor:1	Configs:
       	Topic: test.kafka.item3	Partition: 0	Leader: 2	Replicas: 2	Isr: 2
       	Topic: test.kafka.item3	Partition: 1	Leader: 0	Replicas: 0	Isr: 0
       	Topic: test.kafka.item3	Partition: 2	Leader: 1	Replicas: 1	Isr: 1
    

测试点

  1. 多个Producer同时写入,多个Consumer订阅,当Broker宕机后程序的表现
    • step
      1. 启动 Producer1,Producer2,Producer3,
      2. 启动 Consumer1 , Consumer2 , Consumer3
      3. 停止 Broker1
      4. 查看 Producer 与 Consumer
      5. 启动 Broker
      6. 查看 Producer 与 Consumer
    • 结论
      1. 当 Broker 宕机时,Producer 向该 Broker发送的消息将失败,向其它Broker发送的消息正常。 并且,Producer 会持续的向失败的Broker发送消息,不会故障转移
      2. 当 Broker 宕机时,Consumer 无法接受到消息 ,宕机 Broker 所在数据分区的消息,因为没有 Replica
      3. 当宕机的 Broker 恢复时,之前失败的Producer 发送消息恢复正常
      4. 当宕机的 Broker 恢复时,Consumer 接受消息正常,且从各分区上次提交的 offset 拉取消息,Producer发送成功的消息,Consumer 可以正确的接受,无遗漏
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/izhengyin/some-test.git
git@gitee.com:izhengyin/some-test.git
izhengyin
some-test
some-test
master

搜索帮助