简记 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;
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  

本文链接

你可能感兴趣的:(技术,架构,YouPorn)