实际上,与“分布式系统”相对的概念是“单机系统”。为了把分布式系统解释清楚,我们以网站为例。在Web技术刚刚诞生的时候,整个网站系统通常部署在一台服务器上,称为“单机系统
实际上,与“分布式系统”相对的概念是“单机系统”。为了把分布式系统解释清楚,我们以网站为例。在Web技术刚刚诞生的时候,整个网站系统通常部署在一台服务器上,称为“单机系统”。
单机系统的好处是可以最大限度的节约资源。我在阿里云上买了一个小型的云服务器,建了一个个人博客系统,是一个单机系统。整个网站的所有数据和程序都放在一个很小的云服务器上,因为很少有人访问,所以性能相当不错。单机系统的缺点是存在单点故障,可扩展性差。以我的博客系统为例。只要服务器出现异常,整个系统就会崩溃,没有任何容灾机制。如果访问量突然上升,服务器就会崩溃,因为它的硬件资源有限,无法扩展。
单机系统的概念很好理解,就是整个系统部署在一个节点上。那么分布式系统意味着什么呢?比如我把博客系统里的不同功能拆分成不同的组件,运行在不同的云服务器上,这样我的博客就是一个分布式系统。在分布式系统中,一组独立的计算机向用户展示一个统一的整体,就像单个系统一样。
Defi-去中心化软件-中和应用-Dapp系统构建:156微6011电5610
该分布式系统具有良好的容灾性和可扩展性。比如我用10个云服务器提供无差别的图片浏览服务,其中两个挂了,不会影响服务。这就是容灾。当访问量快速增加时,我可以通过增加服务器数量来提供更强的服务能力,这就是可扩展性。分布式系统的缺点是组件之间有请求转发和负载均衡,资源利用率低于单机系统。
目前你访问的大部分网站其实都是分布式系统支持的。比如百度搜索引擎就是一个非常大的分布式系统。如果你在深圳访问百度,我在哈尔滨访问百度,给我们提供服务的服务器就不是一个,更不要说是同一个了。
区块链系统一般是由多台计算机(或矿机)以P2P网络形式互联而成的复杂庞大的分布式系统。由于大多数区块链系统是分散的,许多人会认为“分散”等于“分配”,这是错误的。
分散系统和集中系统
在区块链的世界里,集权和分权不仅仅是系统架构的问题。比如系统架构可能是“中心化”的,但整个系统在不同的人手里,我们可以认为是“去中心化”的。整个系统架构可能是“去中心化”的,但是整个系统都在个人或者企业手里,所以我们可以把这个系统想成是“去中心化”的。
总结
所谓分布式系统,可以简单地认为是涉及多个节点的系统。集权制和分权制有两个层次:系统架构层和系统归属层。一般区块链领域所强调的“去中心化”大多指的是制度的所有权层面。该系统属于社区和货币持有者,但它是分散的。该系统属于公司和个人,但它是集中的。
分权和分配有什么区别?
这意味着分布式计算是在多个节点上完成的,而不是在一个节点上。分散化意味着没有一个节点会支配其他节点的工作。很多像Google这样的服务栈内部都采用分布式架构,以加快计算速度,减少数据延迟。也就是说,集中式系统也可以是分布式的。
去中心化的系统可以分布吗?
当然可以。比特币之所以是分布式的,是因为其带有时间戳的公共账户(区块链)驻留在多台电脑上。同时,它是分散的,因为如果一个节点出现故障,整个网络仍然可以照常运行。也就是说,任何使用区块链和其他端到端工具的应用程序都可以是一个分布式的分散系统。
有去中心化的共识是成为去中心化应用的唯一要求吗?
dapp的领域是一片刚刚开始开垦的沃土,很多聪明人都在用新的模式做着各种尝试。不同的开发者对dapp是什么有不同的看法。有人认为只要不存在一个能导致整个系统失败的中心点就够了,但也有人认为应该增加其他要求。这本书的重点是讨论盈利的dapp,也就是能让开发者和用户赚钱的dapp。我们之所以关注利润,是因为利润为一个成功、稳健、可持续的dapp奠定了基础。开发者构建应用,用户保持忠诚,矿工维护区块链,这些都是靠激励来维持的。