因为有“中心化”的存在,金融才会有类似加杠杆,减杠杆的调节手段,简单说就是加印货币的控制权,美国也借此手段渡过了次贷金融危机;也是因为有“中心化”,集中式存储阵列遭遇了来自分布式存储,也称为软件定义存储(SDS)的冲击。
但是你知道吗?分布式也有所谓“中心化”的问题。
以Ceph为例,Ceph的监控系统需要一个到多个Monitors,用于监控OSD Daemon的状态。所有的OSD需要周期性的向Monitors发ping消息,Monitors收集整个集群里面OSD的状态。
这种中心化的监控系统架构在扩展性、容错性方面存在瓶颈。
对此,有更好的办法吗?
不妨参考一下区块链技术,它利用分布式协同(Distributed Cooperation)和分布式一致性(DistributedConsensus)技术,确保众多账本分布在Internet上,当每个账本的账目改动时,其他人都能及时地收到和验证这些改动。
区块链技术必须确保分布式账目内容可靠安全,不会被少数人恶意修改。利用这种技术,数字货币就可以实现去中心化,即中央的金融机构(如银行等)无法干预到数字货币的交易等。
类似的,鹏云网络公司创新性的将该技术应用在其分布式存储产品(SDS)ZettaStor中,用于解决Monitors的中心化问题。(参见:AWS存储前系统架构师陈靓:我看国内软件定义存储!)(参见:友情转发:揭秘“超融合系统性能测试”中的作假手段)
他们采用一个无中心的分布式数据库DDS(Distribute Database Service),用于存储SDS系统的元数据、节点的配置信息、SDS内部微服务的实时健康状态信息等。
分布式带来的问题是个体数量很多,如何在有限网络带宽上确保数以万计的个体有效地交互和协同将至关重要。
为此,鹏云定制的Peer-to-Peer网络组播技术、点到点的传输方式、数据压缩和数据手印(fingerprint)对比等技术在占用极低的网络带宽的前提下(10KB/s),能快速将变化的信息同步到集群中的所有的DDS Daemon上。
鹏云DDS采用去中心、全对称的架构:DDS Daemon部署在集群的每一个节点上,集群中的每个DDS都是等价的,而每个节点上的所有微服务都和本地的DDS通讯,这意味着任何一个服务都可以通过任意一个DDS获取存储在DDS内部的信息。
以监控服务状态为例,ZettaStor系统集群中每个节点上的所有微服务都和本地的DDS通讯,报告自己的健康状态。
集群中所有的DDS通过区块链技术形成了一张分布式的微服务健康状态表。每一个微服务的状态变化,都可以及时的反映在所有DDS的健康表里。
上图展示了DDS的架构及p2p的信息交换方式。利用DDS能够实时监控安装在成千上万台节点上的服务的状态,包括服务上下线、新增或移除服务、服务内部状态切换以及服务信息变更等等,具有良好的伸缩性,稳定性,实时性和容错性。
鹏云ZettaStor系统中的元数据、节点的配置信息也和服务健康状态信息一样,存储在DDS里面,形成了去中心化的元数据表和配置信息表。
无中心的分布式数据库技术应用创新,确保了ZettaStor存储系统的的容错性和可扩展性比相应的中心化要好100倍以上。鹏云曾在亚马逊AWS云里面租用5000台虚拟机来测试系统的容错性和可扩展性,系统运行稳定。
可以说,在去中心化的问题上,区块链和鹏云SDS异曲同工;如今,区块链备受资本追捧,火热爆棚!与之相比,鹏云SDS能够杀出重围,脱颖而出吗?
这将是一个耐人寻味的话题!