Hyperledger orderer< - > MS Azure上的对等连接中断了一段时间

时间:2017-09-23 06:43:59

标签: hyperledger-fabric hyperledger hyperledger-composer

我在云端有两台不同的机器。

第一台机器上的容器:

orderer.mydomain.com
peer0.org1.mydomain.com
db.peer0.org1.mydomain.com
ca.org1.mydomain.com

第二台机器上的容器:

peer0.org2.mydomain.com
db.peer0.org2.mydomain.com
ca.org2.mydomain.com
我开始他们两个。我可以让他们加入同一个频道。我将从hyperledger composer导出的BNA部署到两个对等体。我将交易发送到peer0.org1.mydomain.com并查询并从peer0.org2.mydomain.com获得相同的结果。

到目前为止,一切都运作良好。

然而,在第二台机器(peer0.org2)上5-10分钟后,对象与订货人断开连接。当我向org1发送交易时,我可以从org1查询它们,然后我会看到结果。但org2脱离了。不接受新的tx。 (orderer连接消失了)我可以查询org2并查看旧结果。

我将CORE_CHAINCODE_KEEPALIVE = 30添加到我的对等env变量中。我看到在org2对等日志中保持活动状态。但没解决我的问题。

我应该注意:容器位于名为“basic”的docker网络中。该网络用于我的本地计算机。但它仍然适用于云。

在订货人日志中:

Error sending to stream: rpc error: code = Internal desc = transport is closing

每次尝试都会发生这种情况。但是当我在本地机器上运行这些容器时,它们可以毫无问题地保持连接状态。

EDIT1:检查日志后:peer0.org2接收所有tx并将它们发送给orderer。 Orderer接收来自对等体的请求但不能更新对等体。我可以连接到有问题的对等体上的requestUrl或eventUrl。没有网络问题。

1 个答案:

答案 0 :(得分:1)

我想我发现了这个问题。它是关于MS Azure网络。 4分钟后,天蓝色切断空闲连接:

https://discuss.pivotal.io/hc/en-us/articles/115005583008-Azure-Networking-Connection-idle-for-more-than-4-minutes

EDIT1:

是的问题是关于MS Azure ..如果有人试图在Azure上运行hyperledger,请记住,如果对等体保持空闲超过4分钟,则天黑时间超过tcp连接。您可以将其配置为在30分钟内超时。这不是一个错误,但我们无法理解为什么它在4分钟后没有工作,这很烦人。

因此,您可以使用自己的服务器或其他云解决方案,或通过适应其规则来使用azure。