Hyperledger Fabric2中文文档-部署生产环境网络

论坛 期权论坛     
选择匿名的用户   2021-5-30 01:31   270   0
<p>翻译:<a href="https://hyperledger-fabric.readthedocs.io/en/latest/deployment_guide_overview.html">https://hyperledger-fabric.readthedocs.io/en/latest/deployment_guide_overview.html</a></p>
<p>本部署指南以较高的层次介绍了构建Fabric网络的正确顺序,还有最佳实践和一些注意事项。注意本话题以单独个体的角度讨论“建立网络”。更有可能的是,在真实世界中生产网络是由多个个体合作搭建(如多个银行)。</p>
<p>部署Fabric网络是复杂的,需要理解公钥系统和管理分布式系统。如果你是一个智能合约开发者或者一个app开发者,不必知道部署生产级网络的知识。但是你可以了解网络是怎样部署的,以便开发出更好的智能合约和app。</p>
<p>如果你的需求只是用来测试链码和app,查阅<a href="https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html">Using the Fabric test network</a>即可。这里包含了两个组织,每个有一个peer,和一个排序服务组织(在一个单独的order节点上)。test-network并不是一个生产网络的部署蓝图,因为它包含了生产环境不会做的假设。</p>
<p>下面列出部署生产网络的步骤:</p>
<ul><li>1.决定网络设置</li><li>2.为资源设置集群</li><li>3.安装CA</li><li>4.用CA创建身份和MSP</li><li>5.部署节点
  <ul><li>创建peer</li><li>创建order</li></ul></li></ul>
<h3>1.决定网络设置</h3>
<p>区块链网络的结构必须由用例决定。基础的逻辑由你的业务决定,但这里我们准备了一些方案。</p>
<p>与开发环境或者概念证明不同,在生产环境中安全性,资源管理,高可用性都是需要优先考虑的。需要多少节点才能保证可用性,在哪些数据中心中部署才能满足容灾和存储。怎样保证私钥和信任的根持续安全。</p>
<p>除此之外,这里还有一些问题需要在部署之前考虑:</p>
<ul><li>配置证书颁发。整体考虑的一部分,你需要配置peer节点(多少节点,分布在哪些通道中),order节点(多少,谁拥有),也需要考虑你的组织怎样部署CA。生产环境需要TLS,这里需要TLS CA来产生证书。TLS CA需要在登陆CA之前部署,我们会在这里讨论<a href="https://hyperledger-fabric.readthedocs.io/en/latest/deployment_guide_overview.html#dg-step-three-set-up-your-cas">Step three: Set up your CAs</a></li><li>是否使用组织单位。一些组织可能需要建立组织单位,以便在特定身份和有单个CA创建的MSP之间创建隔离。</li><li>数据库类型。网络中一些通道可能需要以状态数据库理解的方式建模,比如CouchDB,有些网络可能需要以速度为优先考虑,而使用LevelDB。注意,通道中不能有peer同时配置CouchDB和LevelDB,这两种数据类型轻微不同。</li><li>通道和私有数据。有些网络 认为通道是保证隐私和数据隔离的最佳方式。其它网络可能认为单独的通道和私有数据,会更好的满足隐私要求。</li><li>容器编排。不同的用户会有不同的容器编排,为各模块创建单独的容器,peer进程,peer的日志,CouchDB,gRPC,链码,其他用户可能会决定合并一些进程。</li><li>链码部署方式。现在用户可以选择,内置的编译和运行,使用 <a href="https://hyperledger-fabric.readthedocs.io/en/latest/cc_launcher.html">External Builders and Launchers</a>自定义编译和运行,或者 <a href="https://hyperledger-fabric.readthedocs.io/en/latest/cc_service.html">Chaincode as an external service</a>。</li><li>使用防火墙。在生产环境中,一个组织的组件可能会需要访问其它组织的组件,必须使用防火墙或高级网络设置。例如,app使用SDK需要能访问所有通道中所有组织的peer和order。类似的,peer需要进入order排序服务并且接受新的区块。</li></ul>
<p>无论组件部署在哪里,你都需要在管理系统(如Kubernetes)有很高的知识,以便于管理网络。类似的,网络结构必须设计的符合你的场景,符合法律和政府规定。</p>
<p>本文不会给出所有的网络配置,但会给出一些通用的指导和规则。</p>
<h3>2.为资源设置集群</h3>
<p>一般来说,Fabric与部署和使用方式无关。举例来说,甚至可以在笔记本上部署和管理。因很多原因,不建议这样做,但Fabric并没有限制。</p>
<p>一旦你有能力部署容器,无论是本地还是云端,都是可以建立组件并把他们连接起来。Kubernetes有很多有用的工具,这都使它成为有管理和部署Fabric的流行工具。更多Kubernetes细节,查看<a href="https://kubernetes.io/docs">the Kubernetes documentation</a>。本文将话题限制在可执行文件以及使用Docker部署或使用Kubernetes时可使用的命令。</p>
<p>无
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP