1. LeaderNotAvailableExecption
这个就是如果某台机器挂了,此时的leader副本不可用,会导致你写入失败,要等待其他follower副本切换为leader副本之后,才能继续写入,
此时可以重试发送即可
2. NotControllerExecption
这个也是一样的,如果说Controller所在的broker挂了,那么此时会有问题,需要等待Controller重新欢聚,此时也是一样的重试即可
3. NetworkEcecption 网络异常
这个代表的是网络异常,可能是某个broker网络io打满了,此时没有返回响应,并且超时了,他是会自动重试的,如果重试几次后还是不行,那么就会抛出异常给我们自己来处理 配置reties
参数
- 配置retries参数,会自动重试
- 如果重试几次之后还是不行,那么我们就自己来进行异常的操作,这个就根据个人的情况来进行了,例如把发送不成功的消息写入redis 或者写入本地磁盘