区块链服务器不是一个单一的硬件产品, 它是一堆服务器凑成的集群, 这堆服务器承担着运行共识节点的作用, 负责存储区块中的数据, 还要处理交易的验证工作。在真实的业务场景里, 大家关注的重点不是去购买什么样的机器设备, 而是应当把运行的节点保持稳定住, 同时要把这些设备和现有的业务系统连接配合好。
区块链服务器能做什么
最基础的功能其实就是在跑全节点或者是在跑验证节点。拿 Hyperledger Fabric 来做例子, 这样一个组织在通常的情况之下是要部署一个 Orderer 节点的, 并且还要部署多个 Peer 节点呢。
至于每台服务器到底承担的是什么角色, 那是不同的。有的服务器的作用是负责区块的排序工作, 也有的服务器的作用是负责背书并且也负责存储的事情。节点数量直接决定网络吞吐和容错能力, 这个事不是随便开两台设备就能跑通的, 它是起决定性作用的。
除了要让节点正常地去运行, 服务器还必须要把链上合约给挂着, 同时还需要去处理链下的数据同步的问题。比如在供应链这个场景里面, 仓库扫码获取到的数据会通过 API 接口推送到联盟链上去。
在这个时候, 部署在服务器上面的合约会自动地来进行校验,然后把相关的数据写入到区块之中。这个步骤是没有任何疑问的, 它完全都是在依赖服务器上面所安装的智能合约引擎以及事件订阅模块才能够完成的, 这中间是不能够出现任何差错的。
区块链服务器怎么选
选择型号的时候, 最主要的是看三个参数。第一个是内存, 因为共识算法会比较耗费内存, 所以如果是使用 PBFT 这种协议的话, 节点建议至少用32GB的大小。
第二个是磁盘I/O, 区块写入的时候使用的是顺序 I/O, 这时候 SSD 的速度比 HDD 要快出一个量级。第三个是网络带宽, 当很多个节点进行同步工作的时候, 如果带宽不够用的话, 就会导致出块变慢。

在部署的建议方面, 我们倾向于至少使用三台服务器。这几台服务器需要分散在不同的机房以构建容灾能力。对于节点之间的通信, 建议通过内网专线来进行。同时只对外开放那些确实必要的端口, 而对于公网访问则进行限制。
总而言之, 大家心里清楚得很, 在区块链服务器这个应用领域, 关键的地方就是把达成共识的那个过程给运行得非常稳定, 同时把实际的业务逻辑给接洽进去, 至于硬件方面的参数标准, 它们只能算是基础的门槛, 而真正的架构设计方案才是决定最终水平高低的最高界限。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://m.zmdyd.cn/imgfb/11281.html
