9.8 生产环境注意事项

区块链分布式结构的特点,使得对其进行安装部署时相较于单点系统要复杂得多,需要从多个角度进行仔细考量和论证。这里总结一些在生产环境中进行应用时需要注意的地方。

1.节点角色差异

Fabric网络中各个节点可以拥有不同的角色。不同角色的众多节点负责整个网络功能中不同环节的工作负载,呈现出了差异化的处理特性。

Ordering服务需要处理整个网络中所有的交易消息,是全网的关键组件,Orderer节点采用Kafka集群进行 排序,本地维护了网络中所有通道的区块链结构,往往大量吞吐区块文件。因此,对于Orderer节点来讲需要加强内存、存储、网络IO方面的配置,并且采 用集群的方式提高其可靠性。

Peer节点除了处理区块和背书交易(Endorser)之外,还需要对账本状态进行更新(Committer),对身 份进行验证。同时,对于每个通道来说,加入通道的节点都需要维护一个针对该通道的账本结构(存放在数据库中)和区块链结构(存放在文件系统)。因 此,Peer节点则在计算、内存等方面需要进行强化配置,Endorser还可以在签名计算方面进行加权。对于打开文件句柄较多的节点(如配置使用 CouchDB作为状态数据库),可能还需要对系统的ulimit等参数进行调整。

而对于链码容器来说,自身不需要维护太多状态信息,但是需要执行计算操作,因此需要提高较好的计算能力支持。

一般来讲,链码容器常常跟Peer节点处在同一服务器上,建议为主服务预留2GB以上的空闲内存,并且一般每个链码容器分配256 MB运行内存和1/10的CPU核资源(根据链码逻辑进行调整)。

2.日志级别

日志级别越低,输出日志内容越详细,出现问题后越方便进行调试。但输出过多的日志会拖慢系统的吞吐性能,严重时甚至能降低几个数量级。

因此,在生产环境中必须要仔细调整日志级别。对于关键路径上的系统,通常要配置不低于Warning级别的日志输出;对于非关键路径上的系统,则可以采用不低于Info级别的日志输出。

Fabric在日志级别上,支持对不同组件提供不同的级别。推荐将全局配置为warning级别,gRPC组件由于需要处理大量交互消息,可以配置为更高的error级别。

如果要追踪区块链网络中的状态变化,可以通过事件监听等方式,降低对网络处理的压力。

3.链码升级

Fabric目前已经支持了链码升级特性,升级时会调用链码中的Init方法。通过合适地设计链码,对其进行升级操作可以保护旧版本链码所关联的状态数据不被破坏。

但是要注意,目前升级操作并不需要整个网络的共识,因此对部分节点上链码版本升级后,未被升级的节点上仍然会运行旧版本的链码。

从数据一致性上考虑,在对某链码代码进行升级前,推荐先将所有该链码的容器停止,并从Peer上备份并移除旧链码部署文件。之后先在个别Peer节点上部署新链码,对原有数据进行测试,成功后再在其他节点上进行升级操作。

另外,在一开始编写链码过程中,就需要考虑链码升级操作,通过传入Init参数指定特定的升级方法来保护原有数据。

4.组织结构

组织代表了维护网络的独立成员身份。一般来说,组成联盟链的各个成员,每个都拥有代表自己身份的组织。一个组织可以进一步包括多个资源实体,这些资源实体彼此具有较强的信任度,并且对外都呈现为同一组织身份。

由于Gossip协议目前在MSP范围内进行传播,因此,一般建议将组织与MSP一一对应,即每个组织拥有自己专属的MSP。当一个组织拥有多个MSP时,不同成员之间的交互可能会带来障碍;当多个组织同属于一个MSP时,可能会发生不希望的跨组织数据泄露。

另外,一个组织可以包括多个成员身份,多个Peer可以通过使用同一成员身份来提高可用性。

5.证书管理

Fabric网络中,CA负责证书的管理。用户虽然可以通过cryptogen工具提前分配好各组织的身份证书,但对于加入到网络中的用户,以及未来支持的交易证书,都需要Fabric CA来进行统一管理。

Fabric CA占据网络中安全和隐私的最核心位置,因此需要加强安全方面的防护。CA不应该暴露在公共网络域中,并且只能由有限个具备权限的用户访问。

另外,根证书往往要进行离线保护处理,减少接触和泄露的可能性。通常使用中间层证书来完成实体证书的签发。同时,绝对不能直接用根证书作为组织管理员的身份证书。

本章小结

本章详细讲解了围绕Fabric部署的相关话题,包括如何本地编译、安装并进行各种组件的配置,以及如何启动 Fabric网络。同时,也介绍了基于容器方式如何快速获取相关镜像和启动网络。此外,还介绍了关于链码操作、多通道操作的相关客户端命令,以及除了命令 行客户端之外的各种语言实现的SDK。最后,对生产环境中部署Fabric网络的有关事项进行了讨论。

通过本章内容的学习和实践,相信读者不仅掌握了如何根据需求来安装部署Fabric网络,同时也对Fabric网络的工作过程有了更深入的理解。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=924

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值