订货人和提交者花时间将数据放入分类帐

时间:2018-05-08 05:03:33

标签: hyperledger-fabric

我们面临的问题与将数据放入分类帐有关。如果我们尝试将数据插入分类帐,然后立即获取插入的数据,我们就没有得到任何东西。如果我们在3秒左右后请求,一切似乎都很好。是否有任何解决方案可以克服这种延迟以获得最佳用户体验?

1 个答案:

答案 0 :(得分:2)

交易所需的旅程是:

  1. 客户(原点)
  2. 订购服务
  3. Kafka群集
  4. 订购服务
  5. 承诺同行
  6. 其中:

    • 只有在您使用基于Kafka的订购服务时才适用第3和第4阶段
    • 事务在提交到分类帐
    • 之前在阶段5上得到验证

    只有在完成所有这些阶段之后,您才能看到提交到分类帐的交易,因此交易不会立即显示。

    至于3秒的延迟,我怀疑这是因为你的Orderer.BatchTimeout被设置为默认的2秒而你Orderer.BatchSize.MaxMessageCount被设置为大于1的值(默认是10)。

    这意味着订购服务不会削减一个块(并将其交付给提交的对等体),直到满足这两个条件的 。您发送的事务少于Orderer.BatchSize.MaxMessageCount,因此订购服务需要等待Orderer.BatchTimeout秒才能切断块。

    为了减少交易显示在分类帐中的时间,请将Orderer.BatchTimeout设置为较小的值(例如,1毫秒),将Orderer.BatchSize.MaxMessageCount设置为1。

相关问题