简记 YouPorn 的技术架构

传说中占据整个互联网每秒流量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 来处理集群环境下的日志,其实就是用来收集页面浏览时的数据,比如视频查看计数器。
  简记 YouPorn 的技术架构_第1张图片
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  

你可能感兴趣的:(you)