`

[转]Facebook主要后台技术

 
阅读更多

Hadoop and Hive

Hadoop的是一个开源的map-reduce实现,使得它可以在进行大数据上进行运算。 Facebook的使用这个进行数据分析(而我们都知道,Facebook已经大量的数据)。 Hive就是发源于Facebook,使得对于Hadoop使用的SQL查询成为可能,从而是其更容易对非程序员使用。

Hadoop和Hive是开源的(Apache项目),有为数众多的追随者,例如雅虎和Twitter。

官网:http://hive.apache.org/

Thrift

Facebook使用的几种不同的语言和不同的services。 PHP是最终用于前端,Erlang是用于聊天,Java和C ++也使用于多种场所,也许还有其他语言。Thrift是一个内部开发的跨语言的框架,联系语言,使他们可以在一起合作,从而使他们之间可以交互。 这使得Facebook可以更容易为继续保持其跨语言的发展。

Facebook已经让Thrift开源。更多的语言支持已被添加到Thrift。
官网:http://thrift.apache.org/

Varnish

Varnish是一个HTTP加速器,可以作为一个负载平衡器,并缓存的内容,然后可以以闪电般的速度送达。

Facebook使用的arnish来处理照片和个人资料图片,处理每天数十亿的要求。 和其他的东西一样,Varnish是开源的。
官网:http://www.varnish-cache.org/

保持Facebook 顺畅运行的其他东西

我们已经提到的软件,组成了Facebook的系统,并帮助运行在大规模上。 但是,处理这么大的系统是一个复杂的任务,因此我们将列出一些其他的东西,他们保持了Facebook的平稳运行。

渐进发布和暗启动

Facebook有一个他们所谓的守门人制度(Gatekeeper),允许他们可以给不同的用户运行两套不同的系统。 这让Facebook渐进的发布新的功能,A / B测试,只为Facebook雇员发布等的某些特性。

Gatekeeper也可以让Facebook实现“暗启动”,这是在用户使用一些功能之前,就激活某些功能(因为用户没有察觉,所以称之为暗 启动)。 这将作为一个现实世界的压力测试,在正式启动前,帮助揭露一些功能障碍和其他问题。 暗启动通常是在正式启动前两个星期。

Profiling的直播系统

Facebook的仔细监控其系统,有趣的是它也负责监察每一个PHP函数在生产环境的性能。 检测各个PHP的环境的配置运行情况。使用开源工具,XHProf 。
官网:http://pecl.php.net/package/xhprof
文档:http://mirror.facebook.net/facebook/xhprof/doc.html

渐进的利用关闭功能来提升性能

如果Facebook运行时出现性能问题,有一个办法,就是逐步禁用不太重要的功能,以增强Facebook的大量核心功能表现。

我们没有提及的事情

我们没有提到硬件相关的事情,但这也是提高可伸缩性的重要一环。例如,就像其他大型站点,Facebook利用CDN来处理静态内容。 Facebook还有一个the huge data center,可以帮助他扩展更多的服务。

Facebook的开源情节

不仅是Facebook使用(和帮助),如Linux,Memcached的,MySQL和Hadoop的开源软件,以及许多其他情况下, 也贡献许多了其内部开发的软件。

Facebook亦开源了Tornado,一个高性能的网络服务器框 架,由FriendFeed团队开发。关于开放源码软件清单,可以在Facebook’s Open Source page.找到。

官网:http://www.tornadoweb.org/

分享到:
评论

相关推荐

    后台模板Facebook补充.rar

    Facebook后台模板可能使用这些技术来构建可交互的用户界面。 4. **Bootstrap框架**:为了快速开发响应式页面,开发者可能使用Bootstrap,这是一个流行的前端框架,提供预设的CSS样式和组件,可以简化设计过程。 5....

    后台开发 核心技术与应用实践

    本书的内容获得了来自腾讯、Facebook、微软、阿里、百度的多位资深技术专家的高度认可。 全书一共13章,在逻辑上分为六大部分: 第一部分(第1~3章)介绍了编程语言方面的知识,包括常用语法、类与常用STL的使用...

    《后台开发 核心技术与应用实践》 PDF

    本书的核心内容涵盖了后台开发中的关键技术和实际操作方法,得到了业界多位专家,包括来自腾讯、阿里、百度、Facebook等知名公司的专家的高度推荐。 在后台开发领域,首先我们需要理解的是基础架构。后台开发通常...

    后台开发核心技术与应用实践

    本书的内容获得了来自腾讯、Facebook、微软、阿里、百度的多位资深技术专家的高度认可。 全书一共13章,在逻辑上分为六大部分: 第一部分(第1~3章)介绍了编程语言方面的知识,包括常用语法、类与常用STL的使用...

    后台开发:核心技术与应用实践 书籍源代码

    后台开发:核心技术与应用实践 作者:徐晓鑫 著 出版日期:2016年08月06日 封面宣传语:腾讯云平台技术总监黄世飞、Facebook对外支付项目主程张子兴、微软软件工程师彭可竞、阿里巴巴资深算法工程师周乐、百度...

    后台开发 核心技术与应用实践.zip

    腾讯公司资深研发工程师多年后台开发经验总结,藐腾讯、Facebook 、微软、阿里、百应多位资深技术专.高摩认可。 完整勾勒后台开发技术能力体系,多维度讲解了成为一名后台开发工程师所需掌握的核心技术、开发工具和...

    facebook源代码框架

    Facebook的源代码框架是开发人员深入理解其设计思想和技术实现的重要资源,特别是对于那些专注于Android平台的开发者。这个框架提供了一个全面的解决方案,用于构建功能丰富的、多用户互动的客户端应用。通过研究...

    徐晓鑫后台开发技术实践——腾讯

    本书的内容获得了来自腾讯、Facebook、微软、阿里、百度的多位资深技术专家的高度认可。 全书一共13章,在逻辑上分为六大部分: 第一部分(第1~3章)介绍了编程语言方面的知识,包括常用语法、类与常用STL的使用; ...

    Facebook图文分享

    当用户在Facebook的状态更新框中粘贴一个包含图片的网页URL时,Facebook的后台系统会自动抓取网页中的元数据,包括图片,然后展示在用户的动态中。这种分享方式依赖于HTTP协议,它是互联网上应用最为广泛的一种网络...

    后台开发 核心技术与应用实践-徐晓鑫

    这里给大家分享一下后台开发必看经典书籍。腾讯资深后台工程师多年经验结晶,完整勾勒后台工程师能力体系结构图,详细讲解后台开发所需核心技术、开发工具和实践方法,腾讯、阿里、百度、Facebook多位专家力荐!

    html 后台框架代码

    HTML 后台框架是开发网页应用时常用的一种技术,它主要负责处理用户的交互、数据管理以及与服务器的通信。在Web开发中,HTML通常作为页面的结构语言,但后台框架则提供了更强大的功能,帮助开发者构建功能丰富的动态...

    安卓Android源码——FaceBook.zip

    本压缩包“安卓Android源码——FaceBook.zip”显然包含了Facebook应用的部分源代码,这为我们提供了一个深入了解Facebook如何利用Android技术来构建其移动应用的宝贵机会。下面,我们将深入探讨这个主题,涵盖...

    html后台框架代码

    React是Facebook开发的JavaScript库,主要用于构建用户界面,尤其是单页应用。React采用组件化开发,每个组件都是独立的、可复用的代码块,可以组合成复杂的用户界面。它还引入了虚拟DOM的概念,提高了性能。 Vue....

    安卓Android源码——Facebook客户端.zip

    Facebook客户端与服务器之间的通信主要依赖于HTTP/HTTPS请求。源码中会包含使用Android的`HttpURLConnection`或第三方库如Volley、OkHttp进行网络请求的代码。同时,Facebook提供了Graph API供客户端使用,源码中会...

    Vue项目 - 通用后台管理资料

    Yarn是Facebook开发的替代npm的包管理工具,它提供了更快的安装速度、更稳定的依赖管理和更好的安全性。在Vue项目中,Yarn可以用来安装项目依赖,如Vue本身、Vue Router、Vuex等。使用命令`yarn install`来安装项目...

    后台开发的一些源代码

    本书的内容获得了来自腾讯、Facebook、微软、阿里、百度的多位资深技术专家的高度认可。 全书一共13章,在逻辑上分为六大部分: 第一部分(第1~3章)介绍了编程语言方面的知识,包括常用语法、类与常用STL的使用...

    后台管理系统框架例子

    本示例主要围绕"后台"、"管理"和"框架"这三个关键词,分享一些优秀的后台管理框架,以供参考。 1. **Spring Boot** Spring Boot是Java领域非常流行的后台框架,以其快速启动、自动配置和开箱即用的特点受到广大...

Global site tag (gtag.js) - Google Analytics