Google揭露“仙女座”虚拟网络,及分散和集中架构之辩

2023-10-13 07:18

本文主要是介绍Google揭露“仙女座”虚拟网络,及分散和集中架构之辩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转摘自  http://www.csdn.net/article/2014-04-14/2819289-google-finds-centralized-control-distributed-data-architectu


【编者按】在软件体系结构上,分散和集中的使用一直存在着争议。同时,随着网络带宽、硬件成本、内存的容量变大,分散式似乎大有可为。然而,从创新不断的Google身上,我们似乎看到了一些别的东西。下面我们一起看HighScalability创始人TodHoff的报道,以下为原文:


在软件体系结构趋势中,分散式服务的理念与集中式服务带来的能力及实用性之间一直存在分歧。然而现在看来,集中服务,至少在管理和控制平面层更胜一筹。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将会是你最好的选择。

如果您的系统非常小,那么完全集中式架构还是相当有吸引力的。

同时,对于处于广大中间地带的朋友们,谷歌已经证明:结合分布式数据并集中管理和控制基本已成为现在的规范架构。不要试图使一切工作都分布式,构建难度会让你望而却步。

原文连接: Google Finds: Centralized Control, Distributed Data Architectures Work Better than Fully Decentralized Architectures(翻译/陶星 责编/仲浩 )



这篇关于Google揭露“仙女座”虚拟网络,及分散和集中架构之辩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201618

相关文章

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络

配置InfiniBand (IB) 和 RDMA over Converged Ethernet (RoCE) 网络 服务器端配置 在服务器端,你需要确保安装了必要的驱动程序和软件包,并且正确配置了网络接口。 安装 OFED 首先,安装 Open Fabrics Enterprise Distribution (OFED),它包含了 InfiniBand 所需的驱动程序和库。 sudo