阅读更多

4顶
0踩

互联网
谷歌今天 宣布 ,它想要修复用户家中的 Wi-Fi 网络连接问题,但在公司内部,这家搜索巨头很早以前便在解决远比这 复杂 的网络问题了。为了将构成谷歌数据中心的数十万台机器连接起来,你不能仅仅使用路由器和交换机这些最基本的工具,还要管理在服务器之间流动的所有数据。为此,谷歌一直在开发自己的硬件和软件,今天该公司揭开了它们的神秘面纱,让我们得以一窥其网络基础设施的演变过程。

谷歌当前网络基础设施即所谓的“木星”(Jupiter)网络,容量是第一代网络的 100 倍,能以每秒 1 Petabit 的惊人速度提供总对分带宽(total bisection bandwidth)数据。该公司表示,在这种速度下,10 万台服务器可以在不到十分之一秒的时间内,阅读完美国国会图书馆中所有已经扫描的数据。

谷歌工程师艾明·瓦达特(Amin Vahdat)今天 写道 :“对于谷歌的服务来说,这种网络性能始终是巨大的益处。工程师们可以从给各种水平的带宽优化代码的繁杂工作中解脱出来。例如,一开始,在如何处理连接于相同的架顶式交换机(top of rack switch)的服务器的数据本地化和部署上,以及单个交换机故障引发的相关损失上,我们就面临着痛苦的抉择。”



但是,谷歌在 10 年前远未达到这种数据处理能力。之后,谷歌收购了视频网站 YouTube,不久后又推出了 Gmail、谷歌地球和谷歌地图之类的产品,所以该公司的需要也在发生着快速转变。

以下即是早期服务器网络在 2005 年时的模样:









正如谷歌在今天的 文章 中所写,该公司基本上在 2004 年就部署了标准的服务器集群(server cluster),这些 2005 年产的机器也是谷歌在 Firehose 1.1 数据中心架构部署的网络设备的第一个例证。在 2005 年部署的机器的目标是,在 1 万台服务器之间实现 1 Gbps 的对分带宽。为了实现这个目标,谷歌曾试图将交换结构(switching fabric)整合到其自主开发的服务器中,但事实证明“服务器的正常运行时间不及理想状态。”

有了 Firehose 1.1 数据中心架构以后,谷歌部署了其第一个定制数据中心集群结构(cluster fabric)。谷歌的工程师今天写道:“根据我们从 FH1.0 了解到的情况,我们不使用常规服务器来存放交换芯片。”相反,谷歌开发了定制式构架,并且转移到所谓的 Clos 数据中心网络构架。

到 2008 年,Firehose 1.1 已演变为 WatchTower,后者转而使用 10G 光纤,而非传统的网线。谷歌面向全球的数据中心推出了这个版本的架构。

下面即是那些架顶的模样:



一年后,WatchTower 又变成了“土星”(Saturn)。WatchTower 的架构可以扩大至 87 Tbps,而“土星”架构则可以在更稠密的架顶下扩大至 207 Tbps。









很显然,“土星”很好地满足了谷歌的需要,因为三年以后该公司才向好于“土星”能力的架构转变。

谷歌工程师写道:“随着每台服务器的平均带宽要求持续提高,数据中心所有集群的相同带宽也具有了这种需要。随着 40G 标准的硅基结构的问世,我们可以考虑将我们的 Clos 架构扩大至整个数据中心(可归入内集群网络层)。”

正是这类架构,现在让谷歌可以将一个数据中心看作是一台巨型计算机,用软件来分配整个网络中所有服务器的计算和存储资源。

诚然,“木星”硬件看上去不同于谷歌在打造定制式网络设备上的最早努力,但从许多方面讲,它还证明谷歌迅速采用了 软件定义网络(Software Defined Networking),从而实现了快速创新能力。

谷歌今天公布了 四篇论文 ,详细叙述了该公司网络构架的各个方面。由于谷歌往往先于其他公司触及传统硬件和软件构架的极限,所以类似论文常常在谷歌之外的公司引发新一轮创新活动。

所有的创业公司都想要创建自己的数据中心,但这是不可能的,其他数据中心运营方肯定会详细研究这些论文,也许会随着时间的推移执行类似的解决方案。当然,他们的用户也会从这种转变中受益。




来自:techcrunch
  • 大小: 126.7 KB
  • 大小: 39.1 KB
  • 大小: 29.2 KB
  • 大小: 80.9 KB
  • 大小: 49 KB
  • 大小: 59.9 KB
  • 大小: 89 KB
  • 大小: 67.9 KB
  • 大小: 12 KB
  • 大小: 120.4 KB
来自: techcrunch
4
0
评论 共 2 条 请登录后发表评论
2 楼 Tyrion 2015-08-27 13:10
能在这样的环境中工作和挑战真是幸福啊
1 楼 jpgtama 2015-08-25 21:29
一个公司不应该害怕硬件不行,软件不行,大胆的去实现业务,其他的都可以跟上的。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 原生js解决表格奇偶列显示

    本方案重点在于掌握table的 rows属性和 row的cells属性. 解决的问题: 例子: 奇偶列不同颜色显示 个人实际运用: 表格内部内容我想要让内容相对靠近, 奇数列靠右,偶数列靠左, 用以替换IE8不兼容的CSS3伪类选择器 <!DOCTYPE html> <html> <head> <meta charset="utf-...

  • 表格奇偶行变色

    表格的行间隔变色 有如下种方式 方式一:使用纯css table.dictionaryList tr:nth-child(2n+1){ background-color:#c0e0f7;}table.dictionaryList tr:nth-child(2n+0){ background-color:#defcfe;} 说明 :n从零开始:0,1,2,3....

  • 使表格的奇数(偶数)行变色

    为了让表格中的行更加突出,条理更加清晰,我们可以对其中的奇数或者偶数行添加背景色 <!doctype html> <html> <head> <meta charset="utf-8"> <title>jquery test</title> <script src="jquery-1.11.1.min.js...

  • JS实现奇偶行变色

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="keywords" content=""> <meta name="description&q

  • JS中设置表格奇偶行不同颜色

    $("#mytable tbody tr:even").css('background', "#AEEEEE");   $("#mytable tbody tr:odd").css('background', "#bbbbff"); 值得注意的是如果项目中里的内容如果是在js中动态拼接完成的,那么表格奇偶行颜色应该在拼接完成之后设置。

  • 利用jQuery的组合实现表格的奇偶行背景色,并设置鼠标移动到表格行上时行的背景色。

    <!DOCTYPE html><html>    <head>        <meta charset="utf-8" />        <title></title>        <script src="js/jquery-1.11.0.js"></s

  • 一个简单但常用的表格样式--鼠标划过行变色--简洁实现

    鼠标划过表格行变色-简洁实现 #tb{width:666px;border-collapse:collapse;border:1px solid #EEE;font-size:14px;} #tb th{background:#EEE;border-bottom:1px solid #CCC;padding:4px;} #tb td{border:1px...

  • HTML-表格的奇数偶数行颜色不同

    /* *Copyright (c) 2017,烟台大学计算机学院 All rights reserved. *文件名称:关于HTML的练习 *作 者:张晴晴 *完成日期:201711月5日 *版 本 号:v1.0 * *问题描述:HTML5的新特性 *输入描述: 无 *程序输出: 无 */ 10-25 work body{ background-color:

  • CSS设置鼠标滑过Table表格时,相应行的背景颜色

    .table>tbody>tr:hover { background-color: #fff; }

  • 写一个表格以及对应的CSS,是表格奇数行为白色背景,偶数行为灰色,鼠标移上去为黄色背景。

    CSS HTML 3.结果

  • 纯CSS实现 table 表格奇偶行不同颜色

    [摘要]本文介绍纯CSS实现 table 表格奇偶行不同颜色,并提供详细的示例代码供参考。 CSS代码: View Row Code 1 .table-striped tbody tr:nth-child(odd) td { 2 background-color: Red  ; 3 }

  • 【转】Jquery 和 CSS3 中的nth-child()

    为什么80%的码农都做不了架构师?>>> ...

  • WEB前端面试JavaScript试题及答案1-20

    1.[单选题] 有以下 ES6 代码 function * gen() { yield 1; yield 2; yield 3; } 下面选项描述正确的是哪个? A.gen()执行后返回 2 B.gen()执行后返回 undefined C.gen()执行后返回一个 Generator 对象 D.gen()执行后返回 1 -------------------------------...

  • 自己对“用不同颜色显示表格奇偶行的例子”扩充了用不同颜色显示鼠标单击的行 - 张孝祥专栏 - CSDNBlog

    双色表格CSS实例 .test { background-color:red; } #DataGrid1 tr { background-color: expression( this.sectionRowIndex == 0 ? "#FFCCCC" : ( (this.sectionRowIndex % 2 == 0) ? "#FFF0F0" : "#F0F0FF" ) ); c

  • 自己对“用不同颜色显示表格奇偶行的例子”扩充了用不同颜色显示鼠标单击的行

    主要是在原来的css基础上增加了一个自定义的RowSelect属性,这个属性通过expression表达式进行设置,我现在的感觉是expression中必须是一个?表达式,在?表达式中才能写我们想要的javascript方法,等以后有时间了再专门来求证这个疑问。如果是我猜想的这样,哪有什么更好的替代方式吗?这种替代方式就是behavior吗?一切都安排在以后清闲了再研究吧! 双色表格CSS实例

  • talbe 奇偶行颜色变化

    talbe 奇偶行颜色变化 $("tableID tr").mouseover(  function(){$(this).css({"background-color":"#*7Ceeb"});} ).mouseout(  function(event){   var $index=$(this).index();   if($index%2==0){    $(this).css(

  • 当鼠标经过时颜色不同,且奇偶行颜色不同

    To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor.                  

  • JS 实现奇数偶数行颜色不同

    HTML代码部分: input type="button" value="隔行变色" id="btn"/> <ul id="uu"> <li>红旗</li> <li>五菱宏光</li> <li>奔驰</li&gt

  • WEB04_JavaScript

    今日任务 使用JS完成简单的数据校验(document对象、事件、函数) 使用JS完成图片轮播效果(事件、定时操作) 使用JS完成页面定时弹出广告(总结BOM对象以及JS的引入方式) 使用JS完成表单的校验(总结常用事件) 教学导航 教学目标 掌握JS的基本语法,数据类型,能够使用JS完成简单的页面交互. 掌握JS中的BOM对象以及JS的引入方式 ...

Global site tag (gtag.js) - Google Analytics