脸书Facebook框架用到的技术总结

Facebook

MySQL,Multifeed (a custom distributed system which takes the tens of thousands of updates from friends and picks the most relevant), Thrift, Memcached,Operations

 

Much of Facebook’s interactive features are powered by AJAX,

Horizontal scalability enabled via load balancing (to pick a web server to handle the request, other purposes: to protect DoD)

to separate “write” databases from “read” to enhance the scalability of its application architecture:“Page Routing” but most of us in the industry call “Layer 7 Switching” or “Application Switching

Modern applications must be deployed and delivered collaboratively with infrastructure if they are to scale and support growth in an operationally and financially efficient manner.

Facebook message:

Layered

Service/API Driven

Distributed

Separate Application Logic

Stateless (State is kept in a database ties, caching tier or other services)

Scalable Component Services

Full Stack Ops(all kinds of tools)

Celled (A cell consists ofZooKeeper controllers, an application server cluster, and ametadata store. ) ZooKeeper. ZooKeeper is used for high availability, sharding, failover, and services discovery.

 

Real-time analytics System

HBase - 20 Billion Events/Day

Hbase + Scribe + Ptail + Puma

php(frontend) + java(backend)

Thrift

Software: http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/

PHP+Linux+MySQL(primarily as a key-value persistent storage)

Haystack, a highly scalable object store used to serve Facebook’s immense amount of photos, or Scribe, a logging system that can operate at the scale of Facebook

Memcached between web servers and MySQL

HipHop converted PHP into C++ Code

Haystack is Facebook’s high-performance photo storage/retrieval system (strictly speaking, Haystack is an object store

BigPipe is a dynamic web page serving system that Facebook has developed.

Facebook uses Cassandra for its Inbox search

Scribe is a flexible logging system that Facebook uses for a multitude of purposes internally.

Facebook uses Hadoop & Hive for data analysis

Thrift is an internally developed cross-language framework that ties all of these different languages (PHP, Erlang, Java and C++) together, making it possible for them to talk to each other.

Varnish is an HTTP accelerator which can act as a load balancer and also cache content which can then be served lightning-fast.

Gradual releases and dark launches

XHProf->Profiling

like many other big sites, Facebook uses a CDN to help serve static content

You can get the code right, you can get the products right, but you need to get the culture right first. If you don't get the culture right then your company won't scale.

Overall architecture has 4 main components: Load Balancer, Web Servers (written in PHP), Services (fast, complicated, search, ad, scribe), Memcached (fast, simple), Databases (slow, persistent).

 

There are no product owners at Facebook

http://highscalability.com/blog/2010/6/10/the-four-meta-secrets-of-scaling-at-facebook.html

http://www.infoq.com/presentations/Scale-at-Facebook

参考:http://www.infoq.com/presentations/Facebook-Software-Stack

转载地址:https://blog.csdn.net/hanhuili/article/details/9197033

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
苹果的iOS SDK提供了非常强大的框架集合,即使到现在为止,找到这些框架的详细介绍和使用方法都有一定困难。不过,借助精通iOS框架(第2版) 的实用见解和经过验证的代码,你可以使用苹果公司提供的这些框架来创建更有创意、更实用的应用,同时也会让编写代码的过程更加快速、让代码更加可靠,也让应用更加成功、更有市场。 Kyle Richter和Joe Keeley关注专业开发者每天都会用到的一些中高级技术,涉及的技术范围从支持社交网络到安全保障,从Core Data到iCloud,甚至有关Apple Watch的内容都包含在内。作为一本便捷的模块化参考书,几乎每一章都会包含一个完整的Objective-C示例程序。另有一个跨章节的Game Center案例,也正好演示了多个iOS功能是如何进行组合的。 主要内容: ■ 添加类似物理效果的动画和动作到UIView视图 ■ 使用Core Location确定设备的位置,显示自定义地图并实现地理围栏 ■ 在游戏和其他应用中加入带有社交元素的排行榜功能 ■ 访问音乐和图片集 ■ 使用HealthKit实现带有健康和健身功能的应用 ■ 通过HomeKit实现家居智能化 ■ 使用JSON在平台间传输数据 ■ 设置本地和远程通知 ■ 使用CloudKit实现数据的远程存储和同步 ■ 实现访问应用的extension功能 ■ 轻松添加AirPrint功能 ■ 在iOS 8和Yosemite设备之间提供连续的Handoff功能 ■ 学习有效使用Core Data ■ 通过社交框架在应用中整合Twitter和Facebook ■ 使用Grand Central Dispatch机制处理多线程任务 ■ 使用Keychain和Touch ID保护用户数据 ■ 定制集合视图 ■ 掌握大部分的手势识别方法 ■ 创建和发送“通行证”到Passbook ■ 调试工具的介绍及应用的优化 目录 第1章 UIKit Dynamics 1 第2章 Core Location、MapKit和Geofencing框架 13 第3章 排行榜 47 第4章 成就系统 73 第5章 Address Book框架初步 93 第6章 Music Libraries框架 109 第7章 实现HealthKit框架 125 第8章 实现HomeKit框架 139 第9章 JSON的使用和解析 155 第10章 通知机制 165 第11章 基于CloudKit的云存储 183 第12章 extension 201 第13章 Handoff 211 第14章 AirPrint 219 第15章 开始使用Core Data 229 第16章 使用社交框架整合Twitter和Facebook 259 第17章 后台任务处理 283 第18章 多线程开发的性能 293 第19章 使用Keychain和TouchID保护并访问数据 309 第20章 处理图片和过滤器 319 第21章 集合视图 337 第22章 TextKit介绍 359 第23章 手势识别 373 第24章 访问照片库 385 第25章 Passbook和PassKit 399 第26章 调试和工具 427

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值