传说中占据整个互联网每秒流量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 模式下;
- 数据:较之以前的 Perl 解决方案快了10%;
- 采用 HAProxy 做负载均衡、智能分发和后端健康检查;
- 采用 Syslog-ng 来处理集群环境下的日志,其实就是用来收集页面浏览时的数据,比如视频查看计数器。
参考文档:
1,2013-4-21,
How it works: YouPorn;
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
4,Redis 推荐阅读:1)Redis核心解读系列 http://t.cn/zT6A3TE by @麦子迈 ;2)Redis 常见的性能问题和解决方法 http://t.cn/zWqL9Jw by 温柔一刀;3)Redis 设计与实现 http://t.cn/zYnTWd4 by @huangz1990