亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

Cinchcast架構(gòu):處理龐大數(shù)據(jù)的技術(shù)決策
2012-09-18   51CTO.com

 

【編者按】這篇博文的作者是CinchcastBlogTalkRadio的首席技術(shù)官Aleksandr Yampolskiy博士,他在這兩個(gè)網(wǎng)站負(fù)責(zé)工程技術(shù)、質(zhì)量保證、技術(shù)運(yùn)營(yíng)、電話系統(tǒng)和產(chǎn)品等團(tuán)隊(duì)。

【51CTO快譯】Cinchcast提供的解決方案讓其他公司可以制作、共享、度量和銷售音頻內(nèi)容,以便覆蓋和吸引對(duì)本公司來(lái)說(shuō)最重要的人群。我們的技術(shù)整合了會(huì)議橋和實(shí)時(shí)音頻流,從而簡(jiǎn)化了網(wǎng)上活動(dòng),加強(qiáng)了參與者的互動(dòng)性。Cinchcast技術(shù)還用于支持Blogtalkradio的運(yùn)行,這是世界上規(guī)模最大的音頻社交網(wǎng)絡(luò)。如今,我們的平臺(tái)每天制作和分發(fā)的原創(chuàng)音頻內(nèi)容超過(guò)了1500個(gè)小時(shí)。我們?cè)诒疚闹忻枋隽宋覀優(yōu)榱藬U(kuò)展平臺(tái)、支持?jǐn)?shù)量這么龐大的數(shù)據(jù)所做的技術(shù)決策。

統(tǒng)計(jì)數(shù)據(jù)

■每個(gè)月的頁(yè)面瀏覽量超過(guò)5000萬(wàn)

■制作的音頻內(nèi)容長(zhǎng)達(dá)50000小時(shí)

■1500萬(wàn)路媒體流

■1.75億廣告瀏覽次數(shù)

■峰值速度達(dá)到每秒40000次并發(fā)請(qǐng)求

■每天數(shù)TB的數(shù)據(jù)存儲(chǔ)在微軟SQL、Redis和ElasticSearch等集群中

■由10名工程師組成的團(tuán)隊(duì)(Cinchcast共有20名技術(shù)人員)

■生產(chǎn)環(huán)境中大約有100個(gè)硬件節(jié)點(diǎn)

數(shù)據(jù)中心

■實(shí)際網(wǎng)站從位于布魯克林的數(shù)據(jù)中心來(lái)運(yùn)行。我們喜歡掌控自己的命運(yùn),而不是把數(shù)據(jù)交給云平臺(tái)保管。

■亞馬遜彈性計(jì)算云(EC2)實(shí)例主要用于質(zhì)量保證(QA)環(huán)境和試運(yùn)行(Staging)環(huán)境。

硬件

■大概50臺(tái)Web服務(wù)器

■15臺(tái)微軟SQL數(shù)據(jù)庫(kù)服務(wù)器

■2臺(tái)Redis NoSQL鍵值服務(wù)器

■2臺(tái)NodeJS服務(wù)器

■2臺(tái)服務(wù)器用于彈性搜索集群

開(kāi)發(fā)工具

■NET 4 C#:ASP.NET和MVC3

■Visual Studio 2010團(tuán)隊(duì)套件充當(dāng)集成開(kāi)發(fā)環(huán)境(IDE)

■StyleCop和ReSharper用于執(zhí)行代碼標(biāo)準(zhǔn)

■敏捷開(kāi)發(fā)方法,Scrum用于大的開(kāi)發(fā)任務(wù),看板/任務(wù)板則用于比較小的任務(wù)

■Jenkins + Nunit用于測(cè)試和持續(xù)集成

■Sauce On Demand——Selenium用于自動(dòng)化測(cè)試

使用的軟件和技術(shù)

■Windows Server 2008 R2 64位操作系統(tǒng)

■在微軟Windows Server 2008 Web服務(wù)器下運(yùn)行的SQL Server 2005

■Equalizer負(fù)載均衡器用于負(fù)載均衡

■REDIS用作分布式緩存層,用于消息發(fā)布/訂閱隊(duì)列

■NODEJS用于實(shí)時(shí)分析和更新Studio儀表板

■ElasticSearch用于分布式搜索

■Sawmill+自定義分析器腳本用于日志分析

監(jiān)控

■NewRelic用于性能監(jiān)控

■Chartbeat用于分析性能對(duì)關(guān)鍵績(jī)效指標(biāo)(轉(zhuǎn)換率和頁(yè)面瀏覽量)的影響

■Gomez、WhatsupGold和Nagios用于各種警報(bào)

■來(lái)自Red Gate的SQL Monitor 用于監(jiān)控SQL Server

我們采用的方法

■“簡(jiǎn)潔、明快、高效,辦完事就走人”:尊重別人的時(shí)間。不要帶著問(wèn)題來(lái),要帶著解決辦法來(lái)。

■不盲目追求當(dāng)下的熱門(mén)技術(shù)。而是“化解你的首要問(wèn)題”。我們是采用新技術(shù),但只是業(yè)務(wù)需要新技術(shù)時(shí)才這么做。如果你有數(shù)以百萬(wàn)的用戶,針對(duì)避免工作網(wǎng)站停運(yùn)的要求就大大提高。

■先做好“基本功”,然后再考慮“干得漂亮”。

■成為“注重解決辦法的團(tuán)隊(duì)”,而不是“凡事說(shuō)不的團(tuán)隊(duì)”。

■把安全融入到軟件開(kāi)發(fā)生命周期中。你需要培訓(xùn)開(kāi)發(fā)人員,教他們?nèi)绾尉帉?xiě)安全的軟件,并且一開(kāi)始就把這列為一項(xiàng)優(yōu)先工作。

架構(gòu)

■所有的Javascript、CSS和圖片都緩存在內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)處。域名服務(wù)系統(tǒng)(DNS)指向CDN,再由CDN將請(qǐng)求傳遞到源服務(wù)器。我們之所以使用Cotendo,是因?yàn)樗试S在CDN做出第七層路由決策。

■使用不同的Web服務(wù)器集群,分別為常規(guī)用戶和廣告用戶處理各自的請(qǐng)求,由cookie來(lái)進(jìn)行區(qū)分。

■我們正在向面向服務(wù)的架構(gòu)遷移;其中,系統(tǒng)的各個(gè)關(guān)鍵部分(如搜索、驗(yàn)證和緩存)是由不同語(yǔ)言實(shí)現(xiàn)的充分利用REST的服務(wù)。這些服務(wù)還提供了緩存層。

■Redis NOSQL鍵值存儲(chǔ)區(qū)(redis.io)用作數(shù)據(jù)庫(kù)調(diào)用之前的緩存層。

■Scaleout用于跨Web服務(wù)器園(Web server garden)維護(hù)會(huì)話狀態(tài)。不過(guò),我們?cè)诳紤]切換到REDIS上。

汲取的經(jīng)驗(yàn)教訓(xùn)

■SQL Server數(shù)據(jù)庫(kù)中的文本搜索不好用。它經(jīng)常造成處理器阻塞,于是我們改用ElasticSearch(Lucene衍生版本)。

■微軟的內(nèi)置會(huì)話模塊容易出現(xiàn)死鎖,于是我們最后把它換成了AngiesList會(huì)話模塊,將數(shù)據(jù)存儲(chǔ)到REDIS。

■日志功能是發(fā)現(xiàn)問(wèn)題的關(guān)鍵。

■重新發(fā)明輪子也可以是件好事。比如說(shuō),起初我們使用一家廠商的產(chǎn)品,用于將JavaScript/CSS捆綁起來(lái),這開(kāi)始引起了性能問(wèn)題。隨后,我們自己重新編寫(xiě)了捆綁方法,因而顯著改善了我們網(wǎng)站的性能。

■不是所有的數(shù)據(jù)都是關(guān)系型數(shù)據(jù),所以數(shù)據(jù)庫(kù)并非總是一種很好的媒介。打個(gè)恰當(dāng)?shù)谋确绞?ldquo;設(shè)想一下水沿管道流動(dòng)。管道上頭很寬,但到了下頭變得很窄。”這個(gè)上頭就是Web服務(wù)器(有好多這種服務(wù)器),下頭就是數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)沒(méi)多少,變得阻塞起來(lái)。)

■開(kāi)發(fā)過(guò)程中不使用度量指標(biāo)就好比高度計(jì)失靈的情況下,試圖在暴風(fēng)雨中讓飛機(jī)著落。在整個(gè)開(kāi)發(fā)過(guò)程中,要估算網(wǎng)站吞吐量、修復(fù)致命缺陷/嚴(yán)重缺陷的時(shí)間和代碼覆蓋率等度量指標(biāo),以此來(lái)評(píng)估你的性能。

原文鏈接:http://os.51cto.com/art/201209/357109.htm

熱詞搜索:

上一篇:幾大品牌系列數(shù)據(jù)“瘦身”效用大盤(pán)點(diǎn)
下一篇:縱觀IaaS市場(chǎng):4-7層云網(wǎng)絡(luò)仍然稀缺

分享到: 收藏