我们正在考虑使用hyperledger-fabric来帮助我们开发一个资源管理应用程序,该应用程序在未来可能会有财务交易。这种面料看起来很容易解决了许多设计要求。
在任何链码解决方案中都没有讨论的一件事是,需要用大量(100,000)的项目及其状态填充账本。
我们还知道,随着时间的推移,将会添加新的资源。
我猜不同的链码可能有一个事务来接收源URL (或DB连接),并通过安全连接传递到assetmgmt链码,以便从源加载并添加到账本中(因为我们希望资产与特定链码的亲和性)。(不能要求在init上这样做,因为其中一个要求是不停机,所以不能故意要求关闭事务链代码)
欢迎对其他想法或最佳实践的指点。
发布于 2017-11-12 23:08:56
我现在自己在为1.x工作,并期待着其他的投入。这是我所知道的。
在0.6中,我加载了200k。我正在使用Node SDK并读取从数据库生成的csv文件。当读取缓冲区、调用队列等开始填满时,我开始出现内存问题。这主要是由于异步的性质,并需要确认。我通过一次加载10k来解决这个问题。
你可以直接开枪就忘了,但我想你需要确认。
因此,无论是Node、Java还是CLI,您都有自己的客户端SDK内存需要处理。就像使用sqlloader之类的。
但是你也有你的同龄人、订单者和kafka设置。块大小、超时、大量设置。一种标准的数据库调优类型的思考,但对于批量加载,我认为还不是很了解。
我在链码中做了很多检查。用户是否有权限创建该类型的记录,该记录是否已经存在等。因此,您的cc也可能会影响加载时间。对于我来说,这些对于实时用户来说无关紧要,但在批量加载时变得昂贵。
我担心在任何大的加载时间内,对等点变得太忙而无法处理查询。我还没有测试任何东西,但是如果加载花费了15分钟,并且不能很好地处理查询,那么这就是一个问题。一些设计使用独立的对等点进行查询,它们可以在HAProxy集群中或类似的集群中,并离线滚动更新。
现在在1.x中,我首先优化cc,然后是服务器参数,最后是客户端。我希望最初只进行批量加载,而不是持续加载。
急于阅读任何其他想法。
https://stackoverflow.com/questions/47249126
复制相似问题