揭秘Facebook北极圈数据中心:降温效果杠杠的,日处理100亿条信息

本文主要是介绍揭秘Facebook北极圈数据中心:降温效果杠杠的,日处理100亿条信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

它看起来就像一个外表不规则的飞船。走进内部,又像极了《银翼杀手》中的场景:一条一条狭长的走廊发出嗡嗡声,忙碌中的服务器不停闪烁蓝光,巨大的风扇高速运转。这里利用当地便宜的水电来运转,借室外的冷空气降温,这里修筑的围墙不是为了拦截间谍,而是用来拦麋鹿的。

欢迎来到Facebook在位于瑞典北部Lulea的一个数据中心--NodePole,它离北极圈仅一步之遥,处理着你发到Facebook上的任何自拍和任何一个点"赞"。

NodePole早在2013年已开始运行,最近陆续向一些媒体公开。NodePole藏身于一大片神秘的松林、湖泊和众群岛中间,由数以千计的矩形金属板组成,是Facebook首次在美国以外的地区开设数据中心,同时也是欧洲最大的数据中心之一。NodePole中心长300米宽100米,差不多四个足球场大。

Facebook每天处理来自全球的3.5亿张照片、45亿个"赞"和100亿条消息,这意味着Facebook需要为此配备难以置信的、巨大的技术基础设施。不管你在香港上传自拍、在巴黎更新个人状态,你的数据都会被存在Lulea,这个栖息着麋鹿和能看到北极光的地方。你要翻出一张2008年拍的照片,也靠这个中心的服务器做出应答。在瑞典建这个数据中心主要就是为了处理来自全世界惊人的数据量,按规律,每18个月产生的数据就会翻倍。

和多数互联网企业会直接去购买服务器不同,Facebook几年前就开始通过设计自己的系统和外包基建项目来建立自己的服务系统。以所有公开的标准来衡量,NodePole是目前为止能效最高的计算机设施。相对于传统服务器厂商的产品,这一项目开发的服务器硬件性能高38%,而运营费用则低24%。Lulea数据中心还是Facebook第一次使用来自自主"开放计算项目"的服务器硬件。

针对这些服务器,Facebook的工程师做了极大的简化,去除了许多典型的组件,如额外的内存插槽、电缆和塑料保护包装。服务器基本上就是一个简装和外露的主板,被放置在冰箱大小的机架上,这种设计的目的是让通风效果更好。基于这种服务器架构的系统需要的冷却也更少。

这里冬天平均气温差不多零下20度,外界的冷空气被泵进中心大楼内,服务器产生的大量热空气和进来的冷空气循环交换,形成自然冷却的过程。

  大量风扇维持着室温的恒定

Facebook选择这里的另外一个原因就是看上这里的供电。大约一个世纪之前,瑞典为帮助国内的钢铁、造纸等工业发展修建了水电大坝,但随着部分产业的衰落,这里的电用不完了。Facebook数据中心就利用了这些富余的电能。负责该数据中心运营TomFurlong所说,Facebook在节能环保上已经下了很大功夫,目标是到2018年,所有数据中心50%靠清洁能源和可再生能源运行。甚至有人脑洞大开,设想把多余的热能输送给游泳池,Furlong也承认Facebook确实考虑过这个点子,但发现这样做并不经济。

中心内部混搭了瑞典和加州风格。中央是一个六边形的雪花和Facebook的Logo;前台墙上挂着彩色的麋鹿图案油画;涂鸦的蓝色Facebook占据了一整面墙体。不同的时钟显示着位于北卡、艾奥瓦以及俄勒冈其他几个数据中心的时间。包括Lulea在内,Facebook在美国已有四个大型数据中心,为了迎接下一个10亿用户,今年7月Facebook又宣布将在得克萨斯的FortWorth建第5座数据中心。

有传言,当初为了给遥远的Lulea招商引资,Lulea也做了很多工作。2009年MatzEngman作为代表飞到硅谷见了多位科技大佬,并在接下来的两年里基本过着和瑞典9小时时差的美西时间,进过多次谈判才最终落实了NodePole计划。为了保密,Engman甚至给Facebook数据中心项目取了代号:黄金工程。

Lulea也因是全世界最安全稳定的地方被大家知道。资料显示,瑞典最近一次战争发生在1814年,距今已有200多年;地震活动极少。


本文转自d1net(转载)

这篇关于揭秘Facebook北极圈数据中心:降温效果杠杠的,日处理100亿条信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

一文详解Java异常处理你都了解哪些知识

《一文详解Java异常处理你都了解哪些知识》:本文主要介绍Java异常处理的相关资料,包括异常的分类、捕获和处理异常的语法、常见的异常类型以及自定义异常的实现,文中通过代码介绍的非常详细,需要的朋... 目录前言一、什么是异常二、异常的分类2.1 受检异常2.2 非受检异常三、异常处理的语法3.1 try-

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用