当前位置: 首页 > 科技观察

分布式计算的八大谬误,得到有效解决_0

时间:2023-03-13 11:35:09 科技观察

1969年,美国国防部首先创建了ARPANET,也就是今天互联网的雏形。在同一时期,SWIFT协议用于实现金融转账。作为分布式系统的两个早期例子,两者的出现帮助用户更加持续地将单个系统构建为计算的集合。  但是,很多对分布式系统有所了解的朋友,并没有听说过单台电脑死机会影响整个系统。其实这部分问题主要是架构师和配电系统设计师的责任,他们也比较清楚。  到1994年,SunMicrosystems的员工PeterDeutsch总结了八个可能导致分布式系统出现问题的因素。1997年,詹姆斯·高斯林(JamesGosling)加入了这个列表,最终导致了著名的“分布式计算的八个谬误”。这些谬论带来的低效率、高风险、高维护成本等问题,让不少从业者和企业叫苦不迭。然而,Paxos等复杂的数学算法已经能够帮助我们有效地克服这些重大障碍。  1)网络非常可靠  第一个神话是它可以使您的设施瘫痪。正如墨菲定律所说,可能发生的坏事总会发生,互联网是验证这条定律的有效载体。但是,主动事务数据复制可以确保即使单个甚至整个数据中心离线,您需要的信息仍然可以顺利传递——这是因为数据节点可以不受地域限制地持续同步。  2)延迟为零  延迟是指数据从一个地方传输到另一个地方所花费的时间(不同于传输带宽,是指在此期间可以传输多少数据)。过去,Internet或广域网会带来可怕的延迟水平。但是,随着云计算甚至混合云架构的普及,我们现在可以保证PB级的交易数据存储在云端,以极高的速度将本地和云环境作为一个整体来运行。  3)传输带宽无限制  传输带宽是指网络传输数据的能力。在网络带宽容量不断增加的同时,需要传输的数据量也在不断增加。但是,您可以使用数据复制技术同时运行多套数据库,从而使用分布式的方式来卸载请求。此外,管理员还可以为特定的文件和目录设置更高的优先级,以保证它们在网络中有优先传输的权利。  4)网络相当安全  要真正做到安全,系统必须与网络完全隔离。但是,安全性确实会随着时间的推移而提高。其他软件解决方案可用于确保我们的外部服务器可在防火墙后公开访问,从而降低它们被破坏的可能性。  5)拓扑结构不变  只有测试实验室的拓扑结构没有变化。当部署应用程序时,网络拓扑将面临大量连接的笔记本电脑、无线和自组织网络,甚至是新的移动设备。事实上,云计算对企业最大的好处之一就是可以随意改变网络拓扑结构。由于可以跨环境复制数据以保持一致性,因此使用的特定拓扑不再是问题。  6)必须要有管理员  虽然不可能只有一个管理员,但是这类角色在控制应用程序与外部系统交互方面的作用在今天已经不是那么重要了。事实上,今天的管理员只负责处理故障并解决它们。  7)传输成本为零  虽然生活中的一切都有成本,但建立和运行广域网比以前便宜得多。云计算的出现意味着您只需为每笔交易、每GB或每小时付费。双活架构允许所有服务器和集群可读可写,并且始终相互同步,不会出现计划外停机。在此基础上,企业将能够实现接近100%的资源利用率,即不会有任何预算浪费。  8)网络同质性  这个谬论是Java之父Golsing在1997年加入的。随着移动设备的出现,虽然如今的网络还没有实现同质化,但是有更多的工具可以帮助大家创建跨不同网络和环境的应用。当然,关键是避免供应商锁定。  总结:  分布式计算谬论已经存在了20多年,而我们真正构建分布式系统的历史可以追溯到40多年前。但随着科学技术的不断发展,这些谬论已不再是制约发展的主要障碍。  借助GoogleSpanner、Paxos算法等技术成果,如今的广域网更安全、性价比更高,并拥有大量效率提升的专利技术。可以肯定地说,今天的零停机、无中断运营模式确实使曾经“不可能”的事情成为可能。