我有以下结构网络拓扑:两个组织,每个组织有两个对等点和两个orderers(以及所需的kafka / zookeepers)。
问:如何设置node fabric-client以保护我的应用免受单个订货人的故障?
文档说我可以使用 channel.addOrderer(orderer)将多个订购者添加到列表中,但它也说明了
" SDK仅使用列表中的第一个订购者"
所以,我的理解是,列表中第一个订货人的失败将阻止后续交易的处理 - 我是对的吗?
答案 0 :(得分:2)
虽然您可以轻松纠正这种情况,但这是正确的。如果从与该orderer节点关闭的sendTransaction失败(例如SERVICE_UNAVAILABLE),则可以使用removeOrderer方法删除orderer,然后再次调用sendTransaction(因为它现在将使用列表中的下一个orderer) 。您也可以使用addOrderer将删除的订货人添加回列表的末尾。
答案 1 :(得分:0)
版本v1.2.0 of Node SDK已包含this feature,其中该频道可能具有多个订购者,并且sendTransaction
API应该先尝试第一个,然后再尝试下一个,依此类推,直到成功。发送交易。