成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

網(wǎng)站YouPorn使用Redis之經(jīng)驗談

開發(fā) 前端 Redis
RedisToGo 的賈斯汀(Justin)最近對Manwin集團(YouPorn和Pornhub之類的成人網(wǎng)站背后的公司)的 IT 總監(jiān)埃里克(Eric Pickup)做了一次采訪。在采訪中,埃里克講述他們向 Redis 的遷移過程,為什么要做這樣的遷移,以及遷移后的成效。

RedisToGo 的賈斯汀(Justin)最近對Manwin集團(YouPorn和Pornhub之類的成人網(wǎng)站背后的公司)的 IT 總監(jiān)埃里克(Eric Pickup)做了一次采訪。在采訪中,埃里克講述他們向 Redis 的遷移過程,為什么要做這樣的遷移,以及遷移后的成效。對 Redis 感興趣的朋友,可看看他的《建立一個易于擴充規(guī)模的網(wǎng)站》(Youtube)視頻。下面是 Justin 對 Eric 訪談的譯文。

賈斯汀:您能否談?wù)勀銈優(yōu)槭裁匆^渡到Redis?

埃里克:基本上,大約兩年前我們收購了這個網(wǎng)站(YouPorn)。當時它是用Perl編寫的,這也是我被招進來的原因之一。雖然我曾經(jīng)用Perl干過活,但是我們很快就認定了用它維護這個網(wǎng)站不可行。Perl的開發(fā)人員不足,尤其是能力強的高級開發(fā)人員更少。所以,如果我們繼續(xù)用Perl維護它,它只能成為一個停滯不前的網(wǎng)站,而這顯然是我們不想做的事情。

很快,我們決定要重構(gòu)網(wǎng)站并開始調(diào)研不同的技術(shù)。其實我們的第一反應(yīng)是PHP,但我們不想太早把自己局限住,所以我們也調(diào)研了基于Java的解決方案。在對我們內(nèi)部實驗過的技術(shù)進行了大量研究分析之后,我們決定堅持用PHP。

以前,我們也實驗過Redis,Varnish和其他一些技術(shù)。有些我們內(nèi)部的網(wǎng)站已經(jīng)開始使用Redis,主要是用來做緩存解決方案。但我們還想知道,我們是否可以把它作為一個真正的數(shù)據(jù)存儲平臺來使用。

我們做了一些早期的測試,并把性能作為主要的決策因素,因為這在當時是(現(xiàn)在也還是)我們的一個大問題。我們對Redis的總體性能感到非常震撼,在經(jīng)過一些討論后,我們決定要使用Redis作為網(wǎng)站的主數(shù)據(jù)庫。

此前該網(wǎng)站使用傳統(tǒng)的LAMP架構(gòu)編寫而成。它用到了Linux,Perl,MySQL和Memcached。過渡過程顯然是有一些難度的。實施過程有個折中:我們在架構(gòu)中保留了MySQL,而且事后對此我真的很高興我們這樣做了。我們的網(wǎng)站并沒有直接去讀取MySQL數(shù)據(jù)庫,但我們可以用它來做類似于填充新的列表或散列之類的事情,以及我們沒有預(yù)見到的一些功能。我們更多地是用MySQL來實現(xiàn)現(xiàn)有的數(shù)據(jù)查詢,Redis則用于網(wǎng)站。

我們開始用它做開發(fā)之后不久,我們很快認為我們做出了正確的決定。然后在開發(fā)了一個月左右的時間后,我們準備重新審視我們的決定,但很快就覺得沒問題。這真的是一個很適合我們應(yīng)用案例的技術(shù)。

賈斯汀:為什么這樣說呢?在評估它是否是一個很好的決定的問題上,你們主要看哪些因素?

埃里克:很明顯,易于開發(fā)是一個重大的因素,尤其是當你像這樣重構(gòu)整個項目的時候。幸運的是,Redis的數(shù)據(jù)結(jié)構(gòu)和我們在做的工作匹配得很好。

YouPorn從根本上來說,主要是視頻和對象的列表,無論是評論、喜歡、最受好評的影片,或觀看次數(shù)最多的視頻。這些都是列表和對象,顯然很容易映射到哈希表里。我們也使用其他的一些數(shù)據(jù)類型,但我不得不說,我們使用的90%左右都會落到有序集合或哈希的結(jié)構(gòu)里。

賈斯汀:決定使用Redis后,需要多久才能真正進行實施并使之生效?

埃里克:說實話,在當時我們還在提升團隊能力。就像我說的,這是一個全新的項目,所以在起始階段主要只有我和另外一個人。

我得說,在大約四個星期之內(nèi),我們就做出了網(wǎng)站原型的相當一部分。我們做好了首頁,所有的主要頁面,以及大部分的視頻頁面。你還可以查看評論 – 盡管那時候你還不可以增加評論 – 很多事只是兩個人在短短的四個星期完成。這個時間表還包括了學(xué)習(xí)新的框架(那時候用了Symphony),所以說我們啟動和運轉(zhuǎn)都是很快的。

賈斯汀:您正在使用的Redis實例有多少個?

埃里克:我沒有具體的數(shù)字,但應(yīng)該不到10個。

賈斯汀:這真是令人印象深刻。你們怎么做到只用這么少的?

埃里克:隨著時間的推移,我們不斷新增功能,Redis實例數(shù)也是不斷增加的,但一般來說,我們用Redis做了很多的緩存工作。我們第一次推出網(wǎng)站的時候,我們沒有做緩存。我們只是依靠Redis本身。

隨著時間的推移,我們發(fā)現(xiàn)以我們的標準來看服務(wù)器運行負擔(dān)過重,所以我們開始添加某些級別的緩存。我們在網(wǎng)站上布署了第二個Redis節(jié)點,它用很短的緩存時間來處理最流行的頁面視圖。

你還必須明白,我們也使用了Varnish,它位于Web服務(wù)器的前端,所以網(wǎng)頁本身也有相當數(shù)量的緩存,所以我們不會通過Redis來緩存每個頁面。

賈斯汀:你去做架構(gòu)上的決策的時候,你能否談?wù)勀闶侨绾螞Q定在哪里使用Redis的,在實施過程中有沒有修正你的決策呢?

埃里克:我想說Redis是我們知道我們是要使用的熱門技術(shù)之一。它和Varnish,他們都是我們早期就決定要用的。我們對它們的測試結(jié)果是相當不錯的,就像我說的,我們公司之前就用過它們,所以它們對我們來說并不是未知的東西。

要說我們有什么修正,最大的變化是增加了Redis二級緩存層。這真的降低了服務(wù)器上每秒的查詢數(shù),并讓我們有更安全的網(wǎng)絡(luò)。

賈斯汀:實施后最大的好處,你覺得是什么?

埃里克:第一,我會說,是Redis帶來的強大的快速創(chuàng)建新功能的能力。其實我的意思是,不只是Redis,而是完整的開發(fā)框架帶來的,但我們已經(jīng)寫了一個基于Redis的基本庫之上的很不錯的庫,這使我們能夠迅速的把新功能融合到一起。這絕對是我們所見過的最大的好處。

(編譯補充:2012年2月份,YouPorn 的技術(shù)人員 Eric Pickup 在 Google 群組宣告他們網(wǎng)站改用 Redis DB 后。扛住了每天1億PV瀏覽量,每秒30萬請求,已經(jīng)堅持 2 周。)

賈斯汀:進行這種遷移的一些障礙或困難是什么?有沒有什么定制化的東西,你必須弄清楚然后自己來做的嗎?

埃里克:這我得想想。實現(xiàn)緩存層花了一些時間。就像我說的,當時服務(wù)器負擔(dān)很重,而我們并不想為了這個問題投入越來越多的服務(wù)器,所以構(gòu)建一個解決方案花了一些時間。

其他花時間的就是需要琢磨一些事情。現(xiàn)在,大多數(shù)使用Linux系統(tǒng)搭建的網(wǎng)站都使用MySQL作為數(shù)據(jù)存儲。 MySQL的確擁有巨大的優(yōu)勢,它有大量的文檔。如果你碰到一個問題,沒準有人在此之前已經(jīng)解決過了,你會找到一堆網(wǎng)站上都提供了相應(yīng)的信息和建議。 Redis根本就還沒有這樣的社區(qū)。如果你想看看其他已經(jīng)設(shè)置好的人寫的東西,比如他們學(xué)到了什么,他們使用哪些設(shè)置,他們的經(jīng)驗是什么,會發(fā)現(xiàn)這樣的信息很少。因為只有很少的提示和技巧,所以學(xué)習(xí)曲線上需要克服的困難就更多了。

相比MySQL,Redis的文檔少得多,所以尋找尋求問題的解決辦法或其他簡單的事情,比如設(shè)置到磁盤的復(fù)制,需要多一點的時間。不過,由于Redis越來越受歡迎,文檔和社區(qū)正在開始形成。

賈斯汀:你有任何提示或技巧想和我們的觀眾分享嗎?

埃里克:我最想說的是最有價值的經(jīng)驗中最重要的一些,可是我懂的也不多。我不是系統(tǒng)管理員,而最重要的很多基本都是系統(tǒng)管理一類的東西。我想說很容易錯過的一招是,當你設(shè)置到磁盤的復(fù)制時,如果你的磁盤是主從的集群,你要確保每個實例之間有足夠的時間差,這樣你就不會碰上所有實例都正好同時決定寫磁盤的局面。

這很容易被忽視。我們起始時的服務(wù)器都運行正常,但后來,當我們添加更多的服務(wù)器的時候,我們保持了默認設(shè)置,而后來不得不去修復(fù)。這是人們可以從中受益很多的經(jīng)驗之一。我是軟件開發(fā)人員,我會說最真實的經(jīng)驗教訓(xùn)是在系統(tǒng)管理層面。可我沒有足夠的信息來真正深入探討這些問題。

賈斯汀:太好了。感謝您給我們這么棒的訪談,希望Manwin集團一切順利!

埃里克:感謝您對我的采訪。

原文鏈接: Justin   翻譯: 伯樂在線 - 老碼農(nóng)

譯文鏈接: http://blog.jobbole.com/44629/

責(zé)任編輯:林師授 來源: 伯樂在線
相關(guān)推薦

2013-05-10 09:36:32

2011-06-21 16:26:19

SEO內(nèi)部優(yōu)化

2024-05-28 07:01:29

2010-08-17 13:23:49

2011-09-09 09:50:40

Oracle

2011-06-29 18:21:18

關(guān)鍵詞

2009-09-14 15:04:44

2009-07-21 10:44:08

ITIL配置管理經(jīng)驗

2011-08-15 10:27:48

2014-03-13 09:20:38

jQueryAngularJs

2009-08-11 15:46:47

2009-06-29 15:39:53

Servlet和JSPServlet引擎

2012-07-13 14:25:59

2017-01-20 09:43:12

日志告警挖掘

2015-09-16 10:13:16

游戲性能

2009-11-02 11:11:07

VB.NET OOP設(shè)

2012-06-18 10:59:12

WEB開發(fā)項目

2015-09-23 14:01:51

2009-08-03 10:13:13

開發(fā)框架

2009-08-07 17:38:08

C#無詞尾符號
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美性一区二区三区 | 国产ts人妖系列高潮 | 日本午夜视频 | 91在线看网站 | 久久天天躁狠狠躁夜夜躁2014 | 美女福利网站 | 看羞羞视频免费 | 国产精品久久久久久久模特 | 免费a在线 | 国产特级毛片aaaaaa | 免费人成在线观看网站 | 国产精品久久国产精品 | 国产一区二区三区四 | 91国产在线视频在线 | 日韩精品一区二区三区中文在线 | 国产精品成人一区二区 | 欧美视频一区 | 国产成人免费视频网站视频社区 | 男女视频在线免费观看 | 亚洲v日韩v综合v精品v | 涩色视频在线观看 | 国产目拍亚洲精品99久久精品 | 亚洲国产成人精品女人久久久 | 麻豆视频在线免费观看 | 激情欧美日韩一区二区 | 亚洲成人免费视频在线 | 草草精品| 欧美在线一区二区三区 | 中文字幕一区在线观看视频 | 亚洲精品久久久久avwww潮水 | 久草网免费 | 秋霞av国产精品一区 | 免费一级黄色 | 毛片99| 91资源在线 | 国产精品一区二区视频 | 国产区在线看 | 天天影视网天天综合色在线播放 | 黄a在线播放 | 一区二区不卡高清 | 久久精品国产一区 |