分散和集中架构之辨 [分享自团队] [转载]
吴文胜 转载了 魏凌 的博文 【查看原文】【转载时间:2014-04-17 13:55】
在软件体系结构趋势中,分散式服务的理念与集中式服务带来的能力及实用性之间一直存在分歧。然而现在看来,集中服务,至少在管理和控制平面层更胜一筹。Google不仅赞同这种模式(他们一直以来都是这种模式的狂热采纳者),还在你意想不到的地方投入使用。
这里摘抄Timothy Morgan一篇非常棒的博文——《谷歌掀开“仙女座(Andromeda)”虚拟网络的神秘面纱》,其中还引用了Google杰出的工程师和网络技术负责人Armin Vahdat的话:
“像Google创建的其他多数服务一样,Andromeda网络采用的是集中控制。顺便提一下, GFS整个数据处理平台(Hadoop启发系统),BigTable(为市面上大量NoSQL模仿),甚至B4WAN网络及Spanner这样尚未被模仿的系统都使用集中控制。
我们可以看到,一个带有P2P数据平面且逻辑集中的分级控制层服务完胜全分散式服务。Vahdat在他的keynote中写道,“这一切都冲击着传统的思想,”他继续说道:“除了上述项目,所有人都会对Google早在2002建立的大型存储系统GFS而感到震撼。对于这个设计模式,我们是非常有信心的。我们通过审慎利用集权而不是以对等且分散的管理方式,从根本上建立一个更高效的系统。”
文章的背景是谷歌的令人印象深刻的自主研发SDN系统,它使用了集中控制而不是互联网的Autonomous System,其将互联网看作一座孤立的岛屿,通过路由协议与“外界”联系。GrregFerro解释道,SDN完全改变了传统的模式:
SDN和传统网络之间的主要区别在于:SDN是基于控制器的网络模型。软件定义网络的集中控制器涵盖了整个网络端到端的视图,它将所有的网络路径和设备能力信息保存在一个应用程序中。因此,控制器可以基于源地址和目的地址计算它们之间的路径;针对不同流量类型决定不同的网络路径;并快速响应不断变化的网络环境。
除了提供这些特性之外,该控制器还可作为一个可配置节点。SDN最有价值的一方面就是:它可以通过这个单一配置节点控制整个网络并编程以实现自动化。
所以,集中控制器知道并能看到一切,它可直接编程实现硬连线的路由。以前,当发现错误后带来的BGP收敛时间会损耗性能。现在,您硬件上有了SDN,那么故障响应会非常迅速,因为集中控制器将会按照会预先计算出的可替代路由来编码路由。这也是当下云系统能具有高可用性、低延时连接,甚至跨越广域网的一个主要原因。
那么,这是否就意味着该控制器是一个单一的过程呢?也不尽然。它只是在逻辑上集中,同样可以像任何的典型服务体系结构一样,在众多的机器中(物理上)实现可分布式。这就是它扩展的方式。除下规模达到了非常大的程度,而想要采用完全分散式的架构显然是不明智的(即使在这个硬件便宜,内存和网络带宽飞速发展的时代)。
就互联网规模而言,逻辑和物理上分散式的 Autonomous System 模型仍然有所作为,它有良好的扩展性,虽然以极高的协调成本和缓慢的响应为代价。然而,在过去,这是可行的,但对于今天的网络需求,已经不再有优势。
谷歌玩的不只是互联网,而是具有特定需求的特殊网络合集。那么,他们为什么会对完全不同的需求使用一个通用的技术?
集中式赢在其构造出的产品广受欢迎
电子邮件和NNTP,都是分散式服务的代表,但是已经让位给了集中式服务,如Twitter,Facebook,G+和WhatsApp等推送服务。
集中化使得很多事情变得更加容易,例如搜索。如果你想要一个非常棒的搜索,那么你就需要在一个地方得到所有的数据,这就是为什么谷歌抓取网页并存储起来的原因。集中化最大优点就是保持一致性,例如追踪清单、关联、A / B测试、频繁推送、反复设计、欺诈检测、DDoS攻击防护、深度学习,以及创建具有高附加值的任何类型功能。
另外,如果你将一个不在控制下的远程实体作为产品的一个重要组成部分,必会导致一个长延迟和失败的用户体验,这并不是你在服务中想得到的东西,端到端控制才是创造良好用户体验的关键。因此,特性或可扩展性上全分散式架构毫无优势。
全分散式有时也是一种政治选择
例如,使用分散或 federated的方式创建Twitter,虽然这在技术上是可行的,却没有被普遍采用。原因很简单,集中式有效且能达到用户的要求,这个是最主要的原因。次要原因,如安全、拥有自己的数据、应变能力、言论自由等,虽然对于有些公司来说比较重要,但是通常情况下对许多公司都没有影响。
Doc Searls在像“逃出集中式的黑洞”这样的文章中提到一个分散式涉到人权和个人主权问题的例子,干预1个由大型匿名公司控制的全分散式且P2P加密的聊天系统要比1个集中式服务难得多。
那么开发者究竟该如何选择
如果是出于个人主权的考虑,或者是基于网络或跨地理位置,或者必须自主运行的,那么federated将会是你最好的选择。
如果您的系统非常小,那么完全集中式架构还是相当有吸引力的。
同时,对于处于广大中间地带的朋友们,谷歌已经证明:结合分布式数据并集中管理和控制基本已成为现在的规范架构。不要试图使一切工作都分布式,构建难度会让你望而却步。
分享到:
相关推荐
SPA1.0时代,沃尔沃依然沿用了多个域控制器的布局,但随着与安波福合作的深入,SPA2.0架构引入了中央计算平台VCU,将原本分散的ECU集成到了中央平台和区域控制器中,极大地提升了系统的集成度和效率,同时降低了成本...
近日,Google披露了其Andromeda虚拟化网络,该网络继续沿用了Google近年来的架构风格——集中控制的分布式架构。在软件体系结构上,分散和集中的使用一直存在着争议。同时,随着网络带宽、硬件成本、内存的容量变大...
在诸多设计概念中,“分散与集中相结合”的自动化系统设计尤为引人注目,它既发挥了分散控制的灵活性和高可靠性的优势,又保留了集中管理的高效和统一的优势,实现了变电站操作和维护流程的优化。 分散与集中相结合...
无论是对于企业级网络还是公共Wi-Fi热点,采用集中式架构和CAPWAP协议都能显著提升网络的稳定性和管理效率,是未来无线网络发展的主流趋势之一。同时,对于网络设计者和运维人员而言,深入理解CAPWAP协议和集中式...
总结,了解和掌握《Z04-95 分散控制 集中显示仪表、逻辑控制及计算机系统用流程图符号》的相关知识,对于从事自动化工程设计、系统集成、故障排查等工作的专业人士至关重要。通过深入学习,我们可以更有效地设计、...
"分布式高可用架构之道" 分布式高可用架构是指一种计算机系统架构,它通过将计算任务分配给多个节点,并行处理,以提高系统的可靠性、灵活性和性能。该架构的主要特点包括高可用性、灵活性、高性能、共享访问和数据...
当涉及到UPS系统的设计,特别是旁路系统的设计时,我们可以看到两种主要的技术路线:分散旁路方案和集中旁路方案。这两种方案的设计哲学和实现方式差异显著,对系统的性能和可靠性有着深远的影响。 分散旁路方案的...
分散采购和集中采购.doc
集中化架构的核心理念是将原本分散在网络各个节点的功能模块集中到一处处理,以此提升整体系统的运行效率和服务质量。这种演进过程不仅涉及到硬件层面的整合,也包括软件层面的重构,如虚拟化技术的应用和网络功能的...
新一代分散自律调度集中系统在继承传统调度集中系统优点的基础上,进一步优化了系统架构和技术手段,提升了系统的智能化水平。该系统主要由以下几个部分组成: 1. **调度中心**:负责制定列车运行图、调度计划,...
IBM TotalStorage SAN架构是苏州建设银行实现数据大集中的关键技术,旨在提供高效、安全的数据管理和灾备解决方案。数据大集中对于银行行业至关重要,因为它能够整合分散的数据资源,提高业务处理速度,确保数据安全...
【湖北中烟实施EMC架构实现从独立分散到统一共享】这一项目主要涉及到了IT领域中的存储服务优化,特别是对于企业级数据管理的提升。湖北中烟作为全国第四大烟草工业企业,面临着数据快速增长的需求,原有的分散存储...
【分散式集中供热】是一种新型的...总的来说,分散式集中供热是应对燃煤锅炉污染问题的一种有效策略,它结合了环保技术和市场机制,有望在未来的城市供热领域中发挥重要作用,推动中国城市向更绿色、更高效的方向发展。
企业财务管理模式——从集权到分权、从分散到集中.docx
本文将从技术可靠性、经济性、安装工作量、使用维护等方面对PLC机柜分散布置与集中布置方案进行对比研究,并以金鸡岩洗选厂的实际情况作为案例分析。 1. PLC机柜布置方案对比 1.1 集中布置方案 集中布置方案是将...
分布式架构则将控制功能分散到各个节点,提高了系统的健壮性,适用于大规模、多节点的环境,但可能在资源收敛和全局调度上有一定延迟。混合式架构结合了集中式和分布式的优势,既保证了快速响应,又降低了系统复杂性...
采购组织架构图可以分为三种类型:分散型、集中型和混合型。 1. 分散型采购组织:这种类型的采购组织结构是指每个预算单位自行开展采购活动的采购实施形式。这种类型的采购组织结构是指每个预算单位自行开展采购...