欢迎来到天天文库
浏览记录
ID:57579268
大小:994.67 KB
页数:8页
时间:2020-08-27
《浅谈Facebook的服务器架构.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Facebook的服务器架构朱银虎大体层次划分-角度1Facebook的页面从刚创立的时候扎克伯格写的,到现在,都用PHP开发。后端有用各种语言开发的service。它们之间用跨语言的thriftRPC通信(Scribe也是建立在Thrift之上)。一边是PHP整的经典的LAMPstack;另外一边是非PHP整的各种service。大体层次划分-角度2前面是负载局衡器(没说是用硬件的还是软件的);负责分配前端的Web服务器,Web服务器是用PHP来聚合数据;最后面是Services,Memcached和数据库Services–快速,复杂;自己开发的业务
2、进程,来实现复杂的业务逻辑,速度快。Memchached–快速,简单;Memchached做简单的key-value缓存,服务应用快速的读请求。数据库–缓慢,持久。数据库做持久存储,磁盘IO自然慢,不过有memcached做缓存没关系。NewsFeed的架构Bob更新状态,Web服务器上的PHP程序除了将内容到MySQL数据库之外,也将该行为动态的ID通过Scribe发到一个LeafServer上(根据Bob的用户ID选的LeafServer)。NewsFeed的架构另一个人Alice打开Facebook,加载主页,PHP程序向Aggregator服务
3、器查询(Thrift调用),Aggregator从若干个LeafServer里头读出Alice的朋友的所有行为动态/action的前四十个,aggregator做聚合和一定的排序,返回给PHP程序。NewsFeed的架构PHP程序获得这些行为动态的ID之后,从Memcached中读出这些ID对应的内容,如Memcached没有则从MySQL数据库中读,汇聚后生成HTML返回给浏览器。Chat的架构用C++写了presence服务器来从channel服务器汇集在线状态有用C++写的chatlogger服务器来做历史记录的读写用Erlang写的Channe
4、l服务器来处理互联网材料
此文档下载收益归作者所有