传说中占据整个互联网每秒流量2%、100Gb/s、300K queries/s的 YouPorn,关于它的 HAProxy->Varnish->Nginx->PHP-FPM->Symfony2->Doctrine->HAProxy->Redis,郑昀简要记录几点:
- 2012年2月开始,YouPorn 的主数据库正式切换为 Redis,取代了之前的 MySQL;
- 数据:Redis ?Slaves 集群处理线上每秒30万个查询请求;
- 读操作都来自于 Redis;
- 写操作,一开始是用?ActiveMQ?做排队,但维护起来很麻烦,于是他们在 MySQL 前面加了一层 Redis ,用它做主数据库。
- 2006年到2011年期间,一直在用 Perl 的一个 MVC 框架?Catalyst?;
- 2011年之后,基于 LAMP stack 重新设计了一番,这次选择的框架是 PHP 的 MVC 框架?Symfony2?,ORM 则选了?Doctrine?,运行在 Nginx-->Varnish-->PHP-FPM 模式下;
- 采用?HAProxy?做负载均衡、智能分发和后端健康检查;
- 采用?Syslog-ng?来处理集群环境下的日志,其实就是用来收集页面浏览时的数据,比如视频查看计数器。
?
class="decoded" alt="/Upload/Images/2013071002/B766A343AB485BF6.png">
参考文档:
1,2013-4-21,How it works: YouPorn;
2,2012-4-2,YouPorn - Targeting 200 Million Views a Day and Beyond;
3,2008,HAProxy,智能分流的负载均衡方案;
4,Redis?推荐阅读:1)Redis核心解读系列?http://t.cn/zT6A3TE
?by?@麦子迈
?;2)Redis 常见的性能问题和解决方法?http://t.cn/zWqL9Jw
?by 温柔一刀;3)Redis 设计与实现?http://t.cn/zYnTWd4
?by?@huangz1990