基于kafka的Orderer宕机问题解析(Fabric1.1和Fabric1.4都有问题)

Orderer稳定性问题解析(Fabric1.1和Fabric1.4都有问题):

出现orderer的偏移量与Kafka的偏移量场景复现步骤及原因:

重新搭建链环境 kafka清理时间为10分钟

1. 创建mychannel通道 加入mychannel,过10分钟后,kafka清理干净,kafka的日志文件变成以偏移量为名称的文件,偏移量变为2,偏移量之前的数据清干净。

2. 重启orderer,kafka的日志会有数据增加,orderer所要的偏移量时2,此时orderer不会有问题,因为此时kafka偏移量是2,在等10分钟,kafka清理干净,kafka的日志文件变成以偏移量为名称的文件,偏移量变为4,偏移量之前的数据清干净

3. 再次重启orderer,此时orderer的要的偏移量与kafka偏移量不一致,orderer的偏移量2的数据Kafka没有,所有orderer出问题了。

为什么链运行了很长的时间,kafka数据都清了,链没问题呢?

测试:通过测试复现,两个orderer同时运行,kafka清理数据了,其中一个orderer重启后连不上kafka(也就是偏移量不一致问题),orderer宕机,另一个orderer没有重启,还是可以继续交易,但一重启这个也会连不上Kafka(也就是偏移量不一致问题),orderer宕机。

总结:虽然kafka数据清理了,只要orderer在整个运行过程中不重启,整个链就不会出问题,只要orderer一重启,orderer会与kafka进行重连,此时orderer所需要的数据在Kafka 里已被清理,导致orderer重连不上Kafka(也就是偏移量不一致问题),orderer宕机。

解决方案:

  1. 将kafka清理策略改为永久保存数据,经过长时间测试,未出现问题,推荐优。
  2. 手动修改kafka的偏移量,请参考我的其他博文。
  3. 修改orderer源码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌苏舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值