问题
FISCO BCOS 支持的 PBFT 共识算法 需要区块链网络中至少存在 2f+1 个共识节点正常工作(假定总节点数为 3f+1 )才能维持网络的良性运转。但是实际生产环境中往往会出现各种特殊情况,如网络脑裂、节点网络中断、节点硬件崩溃,从而导致网络中节点数量少于 2*f+1,这时网络将无法对交易和区块达成共识,网络陷入瘫痪。在现实项目中这种情况还是会出现。
解决方案
手动关闭正常共识节点,修改正常共识节点数据库 sys_consensus 表中的异常共识节点信息,将异常共识节点的 type 字段值从 sealer 修改为 observer,也就是手动将异常共识节点修改为观察者节点,然后启动正常共识节点。