分布式计算中的八大谬论,哪些已经得到有效解决

1969年,美国国防部首度创建起ARPANET,即如今互联网的雏形。而就在同一时期,SWIFT协议则开始用于实现财务转账。作为分布式系统的两大早期实例,二者的出现帮助用户得以更为连续地将单一系统构建为计算集合。

然而,很多对分布式系统有所了解的朋友从未听说过单一计算机的崩溃会影响到整体系统。事实上,这部分问题主要由架构师及配电系统设计人员负责,他们也对此更为了解。

到1994年,Sun Microsystems公司员工Peter Deutsch总结出了分布式系统中可能出现问题的八大因素。而1997年,James Gosling则对这份清单加以补充,最终形成了广为人知的“分布式计算八大谬论”。由这些谬论带来的低效率、高风险、高维护成本等问题令众多从业者及企业叫苦不迭。然而,Paxos等复杂数学算法已经能够帮助我们有效克服这些显著障碍。

一) 网络相当可靠

第一大谬论很可能导致您的设施陷入瘫痪。正如墨菲定律所言,可能发生的坏事儿一定会发生,网络正是验证这一定律的有效载体。不过,主动事务数据复制机制能够确保即使单一甚至整体数据中心下线,大家需要的信息仍然能够得到顺利交付——这是因为各数据节点能够不受地理影响而实现持续同步。

  二)延迟为零

延迟是指数据由一地传输至另一地所消耗的时间(与传输带宽不同,其指的是在此期间能够传输多少数据)。过去,互联网或者广域网会带来糟糕的延迟水平。然而随着云计算乃至混合云架构的普及,我们如今已经能够确保将PB级别的事务数据存储在云端,并以极高速度将本地与云环境作为同一整体进行操作。

三)传输带宽是无限的

传输带宽是指网络传送数据的能力。尽管网络带宽容量不断提高,但需要传输的数据量亦在持续增加。然而,大家可以利用数据复制技术同时运行多套数据库,从而利用分布方式进行请求分流。另外,管理员亦能够为特定文件及目录设定更高优先级,确保其在网络当中拥有得到优先传输的权利。

四) 网络相当安全

要真正实现安全,系统只有与网络彻底隔离。然而,安全性确实随着时间推移而不断提升。更多软件解决方案能够确保我们的外部服务器在防火墙保护下进行公开,从而降低其受到入侵的可能性。

五)拓扑结构不会改变

只有测试实验室中的拓扑结构才不会改变。当应用程序完成部署后,网络拓扑将面对大量接入笔记本、无线与临时网络乃至新型移动设备。事实上,企业采用云计算的最大收益之一正在于可随意变更网络拓扑。由于数据能够在不同环境之间复制以保持一致性,因此具体使用怎样的拓扑已经不再是问题。

六)必须要有一名管理员

虽然管理员不可能只有一名,但这类角色在控制应用与外部系统间交互时的作用如今已经不那么重要。事实上,如今的管理员只需要负责处理故障并加以解决。

七)传输成本为零

虽然生活中的一切都是有成本的,但设置并运行广域网络确实要比过去便宜得多。云计算的出现意味着大家只需要根据每事务、每GB或者每小时进行付费。主动-主动架构则能够让一切服务器与集群拥有可读取性与可写入性,且始终彼此同步并不存在计划外停机。在这一基础之上,企业将能够实现接近100%的资源利用率,即不存在任何预算浪费。

八)网络同质化

这项谬论是由Java之父Golsing于1997年额外添加的。随着移动设备的出现,如今的网络虽然仍未实现同质化,但却有更多工具能够帮助大家跨越不同网络与环境打造应用方案。当然,其中的关键在于避免供应商锁定状况。

总结:

分布式计算谬论已经存在超过20年,而我们真正着手构建分布式系统的历史则可追溯至40多年之前。然而随着科技的不断发展,这些谬论已经不再成为制约发展的关键性障碍。

在谷歌Spanner与Paxos算法等技术成果的帮助下,如今的广域网络更加安全、更具成本效益并拥有一大批作为成效改善的专利技术。可以肯定地讲,如今的无停机时间且无中断运营模式已经真正让以往那些“不可能”转化为“可能”。


本文作者:核子可乐

来源:51CTO

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/197230

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。