傳說中占據整個互聯網每秒流量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