当两台服务器彼此断开连接然后重新连接时会发生什么?

时间:2019-02-19 10:25:37

标签: hyperledger-fabric hyperledger

我们有2个服务器,每个服务器都有一个对等方,订购方和kafka。它们连接在同一通道中,均已安装并实例化了链码,并且该策略是一个组织或另一个组织。

想象一下,Internet断开并且断开连接:

  • 两个人都可以单独工作吗?
  • 可以将新交易写入分类帐吗?
  • 当互联网启动并运行时,分类帐中新提交的区块会发生什么?这个新块如何同步?

谢谢

EDIT1:

查看图片以进行澄清: 2 orgs with 1 server connected

网络将如何同步?如果在断开连接期间,两者都写入分类帐,这些新生成的块将如何反应?一个人失效了吗?还是两者都有效?

2 个答案:

答案 0 :(得分:0)

一旦断开连接,对等方将无法从通道对等方获得保持活动状态,并且如果启用了调试日志记录,则将继续抛出该对等方。

即使从网络断开连接,对等方也不会丢失任何配置。架构中的发现服务负责查找在通道中配置的对等项。因此,一旦连接恢复,它将自动与八卦消息的对等方重新同步。

随后,对等方可以照常写入和读取分类帐。

答案 1 :(得分:0)

这里有很多事情要考虑:

1)当您使用基于Kafka的订购器时,如果您希望它们成为同一订购服务的一部分,则必须将Kafka代理集成在一起。 Kafka用于将消息分发到订购节点。如果您的Kafka经纪人不在集群中,那么您将拥有单独的订购服务。回想一下,卡夫卡还需要Zookeeper。 Zookeeper具有2f + 1容错模型,因此,如果您要容忍单个节点的故障(故障包括通信问题),则将至少需要3个Zookeeper节点,并且应将它们部署在单独的主机上。对于Kafka,您将需要至少2个代理,并且需要将最小ISR(同步副本)设置为2。理想情况下,您将有4个Kafka代理。

2)为了处理交易,必须有足够的/可访问的对等方来满足背书策略以及订购服务。无法连接到订购服务的对等点一旦可以重新建立连接,就会赶上。