前沿资讯网>区块链开发>正文

区块链这个业务应用系统,估算方法以及注意的点

摘要
区块链这个业务应用系统,估算方法以及注意的点,第一个,每条业务 channel 它是有总的大小限制,这个来自于哪里呢?因为刚才讲到每个 channel 它有一套账本,

    区块链这个业务应用系统,估算方法以及注意的点,第一个,每条业务 channel 它是有总的大小限制,这个来自于哪里呢?因为刚才讲到每个 channel 它有一套账本,账本核心是 Block,记录所有的交易数据、交易历史记录,这个 Block 是以一个个 append-only 类型的文件来存储,这些文件大概是有 10 的 6 次方这样的数量上限,每个大小是 64 兆,乘下来,技术上大小上限是 61TB。刚才看到估算的这些值,但是它的上限,比如说每个 Order 或者每个 Peer,它上面的业务数据量是不能超过 block file 的上限的。


区块链业务应用系统,区块链应用系统,区块链系统


    第二个就是我们要注意到底什么东西是适合放在区块链的,这不仅仅是容量规划的问题,而是整个业务场景选择的问题,因为首先区块链的特征是适合保存证据,它不是用来作为原始的数据存储,或大数据存储的基础设施。另外的话,如果你的业务场景,频繁地去更新同一个 Key,比如银行里面转账、支付交易,那么我们就要思考这种是否适合区块链一个特质,因为区块链在业界也有一个不成文的共识,它本身不涉及用于支撑高频交易业务的。


    另外还有 Block 开销,因为刚才讲了 transaction 是封装在 Block 里面的,这个 Block 本身从数据结构上大概有 1.9KB 的基本开销,Block 数量跟 transaction 数量比例是不定的,因为有下面几个原因,看到数字货币像比特币,它的出块是根据矿工挖矿,也就做一系列的穷举计算以及做哈希计算得到一个满足难度条件的随机数等等,这是数字货币出块。但是在 Fabric 里面出块,它只需要满足这样三条标准,比如 Block 里面包含的 transaction 笔数达到上限,它就可以去出一个块。或者是 Block 里面包含的 transaction 总的 byte 字节数达到了上限,或者是从第一条 transaction 进入 Block 之后,等待时间到达上限都可以产生一个块。因为这三条标准导致了 transaction 数量与 Block 数量是没有严格的对应的关系,顺便说一句,这三个标准跟 IBM MQ 做网络批量的高效传输三条标准是基本一致的,业界有很多设计是很巧合的。


    区块链业务应用系统,区块链应用系统,区块链系统a1.jpg


    其他还有一些比较次要的考虑因素,比如说 Fabric 容器镜像开销,Fabric 涉及到容器镜像从三五百兆再到 1.5G,1.3G 都有,假如说所有的镜像单独存成文件,大概是 11G 的开销,当然如果我们把镜像存储在 Docker Registry 里面比如说 Harbor,或者是云上的镜像服务,它占的实际体积会小很多,因为基于 docker image 分层文件系统的技术。


    但是如果对企业来说可能要考虑,我要备份多少套的镜像版本来支撑业务的升级、回滚,或者是开发的需要,这是存储开销。此外还有业务应用跟其他软件的容器镜像、以及数据的存储备份等等这些开销,但这些都是相对次要的一些因素。


    区块链业务应用系统,区块链应用系统,区块链系统a2.jpg


    我们分享完第一个探索经验,下面将从运维角度,怎么对 Hyperledger Fabric 日志来实现企业级的运维分析。


    可能在座的很多同仁会有过使用 Fabric 日志的一些经验,比如说我们可以通过像 Kubernetes 控制台,去查看某一个 Peer 节点、Orderer 节点的日志信息,或者通过命令行运行 kubectl logs 或 docker logs 命令,也可以看到每个节点的容器的日志信息。但问题是这些手段满足不了企业级运维和业务分析的需求,这里所面向的对象很可能是区块链运维系统的团队,甚至某些场合下会涉及到业务相关的团队。


    区块链业务应用系统,区块链应用系统,区块链系统a3.jpg


    那么到底企业级的运维与业务分析需要怎样的 Fabric 日志的工具或者能力呢?其实这种区块链的业务系统可以结合,比如说云平台的日志服务,或者像开源的 ELK 方案去搭建出日志分析系统,去跟区块链整合起来。


    下面举几个例子说明我们需要哪些能力。第一个就是我们希望对区块链业务系统的日志实现实时索引以及动态查询的能力。比如说这个例子里面,我们是用阿里云的区块链解决方案整合了阿里云日志服务来进行示例,这里我们需要对某一个业务 Channel 来进行实时的索引查询,来看这个日志的一些分布,以及跟这个业务 Channel 相关的日志信息,可以通过关键字,以及像一些类 SQL 的查询语句来快速实现查询。


    区块链业务应用系统,区块链应用系统,区块链系统a4.jpg


    第二个例子,对企业来说,可能要对一些比较敏感的,或者是高优先级,或者是对风险有关的一些日志信息,实现自动告警的功能,并且这些告警可以去对接,比如短信,邮件,企业及时通信工具如钉钉等等一些工具。在下面这个示例中,我们就可以去对某一个区块链应用系统来设定一些告警规则,检查在某一个 Peer 节点上是否有运行某个特定,如某个高敏感性 chaincode 应用,设置这样一条规则,在配置好规则以后,后面当我业务系统一旦满足这个条件,那么就会自动通过邮件,以及短信,向用户自动发送告警,并且运维人员在告警记录里面可以看到告警的这个过程。


    区块链业务应用系统,区块链应用系统,区块链系统a5.jpg


    我们企业是希望能够获得一种关于区块链业务系统运行情况的可视化的统计图表,以及报表数据输出。这里我们做了一个图表分析,就是在这几个 Peer 节点上,我们其实是做了几个事情:在一个 Peer 上面调用了 10 次智能合约,在另一个 Peer 上面调用了 100 次智能合约。在我们实际的日志的图表分析里面,就可以看出业务调用情况的体现,因为这里基准的这些日志数量是进行账本数据同步的一些日志,那么额外的这一部分的 Delta 日志数量是对应这 10 次 chaincode 调用的,另外这部分更大的 Delta 日志数量就是在这 Peer 上进行 100 次 chaincode 调用的情况。


    这些日志分析图表可以作为业务团队去分析,比如说在不同业务区域,进入区块链业务系统流量的差别,或者说跟不同企业对接的区块链业务系统,它的流量差异等等,都可以作为一个业务分析的依据,以及说后续可以导出成 Excel 的形式。


    【免责声明】以上文章是今日小编为您介绍区块链业务应用系统的个人观点,请读者仅作参考,投资有风险,入市须谨慎!本站不拥有所有权,不承担相关法律责任。如需了解“区块链系统”请关注:【什么是区块链 http://www.whw999.com/chain/】,如若转载,请注明。


    


王老吉吉悠千万联合创始人果总私人微信:vip700900对接各大微商团队。有肉随便吃——王老吉吉悠,独家配方,项目专利承保,中国医科院坐阵,时代进步的产物...

01月07日 17:15

王老吉吉悠是大健康产品正式进军微商新零售

王老吉吉悠千万联合创始人果总私人微信:vip700900对接各大微商团队。有肉随便吃——王老吉吉悠,独家配方,项目专利承保,中国医科院坐阵,时代进步的产物...

01月07日 17:14

王老吉吉悠千万联合创始人果总私人微信:vip700900对接各大微商团队。有肉随便吃——王老吉吉悠,独家配方,项目专利承保,中国医科院坐阵,时代进步的产物...

01月07日 16:36

王老吉吉悠千万联合创始人果总私人微信:vip700900对接各大微商团队。有肉随便吃——王老吉吉悠,独家配方,项目专利承保,中国医科院坐阵,时代进步的产物...

01月07日 16:31

       12月5日上午消息,据《财富》报道,区块链协议项目Conflux近日从红杉中国和多家中国互联...

12月14日 13:43