簡記 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 來處理集群環境下的日志,其實就是用來收集頁面瀏覽時的數據,比如視頻查看計數器。
  http://images.cnblogs.com/cnblogs_com/zhengyun_ustc/255879/o_YouPorn%e6%9e%b6%e6%9e%84%e5%9b%be.png
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  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM