1.1 分布式系统的优点

要理解有激励去中心分布式系统,首先要理解分布式系统。分布式系统是一个经典的计算机专业词汇,它作为今天互联网的基石性技术,已经相当成熟。就拿我们每天都要用的各种移动 App 来说,支撑这些 App 运行的背后都是一套分布式系统,由分布在各地机房的大量服务器组成。那么我们为什么需要分布式系统呢?

1)通过分布式系统来保存数字信息,能获得更高的可靠性

avatar
在手机还是只能用来打电话和发短信的年代,手机里的通讯簿对我们来说格外重要。不少人都遇到过手机损坏或遗失后,丢失通讯簿的痛苦经历。为了备份通讯簿,我会利用手机的通讯录导出功能(更早的时候只能用手抄写),定期把通讯录备份在我的电脑上。这样就万无一失了吗?答案是否定的。一旦发生火灾,我的手机和电脑都有可能同时损坏。于是,我又买了一台位于美国的 VPS(虚拟主机),备份通信录到电脑的同时也会上传备份文件到该主机。于是,我的手机、电脑和在美国的 VPS——这 3 个节点构成了一个最简单的分布式系统。这下除非地球毁灭(这个概率很小但也不能说是 0),我的通信录算是保住了。

2)由多个节点组成的分布式系统,比单个节点的分布式系统有更强的计算能力。(节点:计算机节点,用于存储和处理数据,以下简称为节点。)“双 11”里海量的商品信息和同时发生的交易,世界上任何一台超级电脑都没法处理,这背后是一个由数十万台服务器组成的大型分布式系统来支撑的。

3)分布式系统还能提供更强的“可用性”。分布式系统不会因为其中的某些节点暂时不能工作而导致整体不能工作。我国移动支付高度发达,大家早已习惯带台手机走天下的无现金生活,这就要求微信支付或支付宝的服务都必须 24 小时可用。如果这些支付服务运行在单台超级计算机上就难免碰到计算机需要维护,哪怕只是短短的 15 分钟,都会对数百万人的生活带来不便。设计良好的分布式系统可以有效解决这个问题。

分布式系统的核心理论已经发展将近 30 年,但我们过去谈到的分布式系统,其实都是“中心化”分布式系统,整个行业过去都默认在此前提下研究和发展分布式系统。从技术的角度上来说,中心化分布式系统认为组成分布式系统的节点,全部属于同一个“法人”(个人或公司)。分布式系统的所有者能向系统中自由地增加或减少节点;能完全地控制系统中的节点,要求节点执行指定的指令,并且从不怀疑某个节点会故意错误地执行指令。

有了中心化分布式系统的技术性定义,下面我们可以在这个基础上讨论去中心分布式系统。

results matching ""

    No results matching ""