# 友谊建筑

> 原文： [http://highscalability.com/blog/2007/7/11/friendster-architecture.html](http://highscalability.com/blog/2007/7/11/friendster-architecture.html)

Friendster 是网络上最大的社交网站之一。 它强调真正的友谊和通过朋友发现新朋友。

网站：http：//www.friendster.com/

## 信息来源

*   [Friendster](http://www.mysqluc.com/presentations/mysql05/pattishall_dathan.pdf) -每天扩展 10 亿个查询

    ## 平台

    *   的 MySQL*   佩尔*   的 PHP*   的 Linux*   Apache

    ## 里面有什么？

    *   具有 8 GB RAM 的双 x86-64 AMD 皓龙*   更快的磁盘（SAN）*   优化指标*   传统的 3 层体系结构，数据库前面有硬件负载平衡器*   基于类型的集群：广告，应用程序，照片，监控，DNS，画廊搜索数据库，配置文件数据库，用户信息数据库，IM 状态缓存，消息数据库，推荐数据库，朋友数据库，图形服务器，画廊搜索，对象缓存。

    ## 得到教训

    *   没有持久的数据库连接。*   删除了各种。*   优化指标*   不要先解决最大的问题*   优化而无停机*   分割负载*   将排序查询类型移至应用程序并添加了 LIMITS。*   缩小范围*   主键范围*   基准->进行更改->基准->进行更改（改进周期）*   稳定：始终有回滚的计划*   与团队合作*   评估：定义问题*   新系统的主要设计目标是从维护会话状态转变为无状态架构，该架构将在每次请求后进行清理*   [我们的理念]不是购买大型集中式盒子，而是购买大量薄而便宜的盒子。 如果一个失败，则将鼠标移至另一盒。

您的信息来源是什么？ 许多此类信息很容易推测。

我认为这是来源：
[http://conferences.oreillynet.com/presentations/mysql05/pattishall_dathan.pdf](http://conferences.oreillynet.com/presentations/mysql05/pattishall_dathan.pdf)

这是从 2005 年开始的，否则是好东西。

我认为 Friendster 使用 squid 作为反向代理。

这是图片：
[http://wildavy.files.wordpress.com/2008/05/friendster_squid.png](<a) > [http://wildavy.files.wordpress.com /2008/05/friendster_squid.png](http://wildavy.files.wordpress.com/2008/05/friendster_squid.png)

在显示维护页面之前，我已经收到了该消息。