草稿
0、实际中会遇到网络抖动会导致消费者有一小段时间与kafka连接遇到问题~
0、如何模拟网络问题?本地跑多个kafka实例直接关掉其中一个kafka服务??怎么模拟断网??
1、kafka-go与sarama都演示一下
2、一个consumer消费一个topic的例子;模拟网络问题可以把kafka服务关了~ 观察一下再开启kafka服务的话 有没有正确消费消息~
3、一个consumer消费多个topic的例子:模拟网络问题可以把topic删了,观察一下有没有正常消费其他topic的消息~实际中一个topic出问题但是另外的topic的消息会阻塞???
4-1、sarama返回的error做了封装,可以用它返回的error的枚举判断是否是实际中要用的网络异常~~
4-2、kakfa-go中没有方法将自己包中的Error暴露出来,但是我们可以看它的源码里面有一个 isTransientNetworkError方法,把它抄过来用它来判断网络错误即可~~
5、手动ACK消息还是自动ACK消息?sarama包与kafka-go包遇到网络抖动,
~~~
标签:Golang,sarama,遇到,网络,kafka,重试,topic,go From: https://www.cnblogs.com/paulwhw/p/18102523