2008-02-26
Digg 网站架构 - zt
国庆期间又收集了一些关于网站架构的信息。一直没有进行系统的整理。越来越发现其实都是自我重复的劳动
,后续的信息都是嚼别人剩下的甘蔗。--by Fenng
Digg 工程师采用 LAMP (Linux, Apache, MySQL and PHP) 模式。这个 Alexa 排名在 100 左右的、自我估价 1.5 亿美金的站点目前有超过 100 台的 PC 服务器(足够少了),可以粗略分成三个部分:数据库服务器,Web 服务器,搜索服务器。
数据库方面,和其他成功的 Web 2.0 站点一样,也是 MySQL,不过 Digg 稍微"激进"一点,用 MySQL 5,而且号称从 MySQL 4 升级到 5 性能没有什么影响。 OLTP 应用用 InnoDB 引擎, OLAP 用 MyISAM。后端数据库的读比例达到 98%,写只有 2%,实际的读写比例应该高于这个数字,这应该是 Digg 在前端用 Memcached 以及 APC PHP accelerator / MCache 做缓存后的效果。在 IO 上似乎压力并不大。
数据库分割用 Sharding (分片)的机制。从透露出来的信息看,Digg 数据量并不大,仅仅刚超 30g . 看起来是只存储了一些元数据。至于这个 Sharding 或者 Shard, 其出发点有些类似于数据库的分区,差别可能就是不再一个库上吧,其实都是结合业务和应用来对一些数据对象进行分割。
搜索服务器用的是 Lucene。
进一步阅读:
- Digg Architecture
- How Digg.com uses the LAMP stack to scale upward
- Digg PHP's Scalability and Performance
--EOF--
发表评论
- 浏览: 19776 次

- 详细资料
搜索本博客
最新评论
-
PlentyOfFish 网站架构学 ...
学习呢
-- by ytsongjun -
PUSHLET 实战:FRAME ONLO ...
1.客户端主动重连是可以的,可以利用_listenFrameReady(),自己 ...
-- by huangxx -
PUSHLET 实战:FRAME ONLO ...
想请教一下pushlet 是否可实现重连,当连接断开后,既tomcat服务停掉后 ...
-- by long-zhigang -
PUSHLET 实战:push mode ...
可能是我现在对Pushlets还了解得不深吧,感觉Pushlets不是什么新的技 ...
-- by qichunren -
dbunit 用来做数据库数据 ...
呵呵,去看看它的文档吧。
-- by huangxx






评论排行榜