資源描述:
《百度貼吧lamp架構(gòu)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、百度貼吧LAMP架構(gòu)夏緒宏@reezePHPConChina2013
2、AGENDA1.貼吧簡介2.貼吧架構(gòu)發(fā)展歷史3.架構(gòu)現(xiàn)狀及未來賈君鵬你媽媽喊你回家吃飯關(guān)于貼吧架構(gòu),元芳,你怎么看?白富美,高富帥TECHNOLOGYSTACKNginx?Nginx?C/PHPNoSQLC?Mysql、分布式數(shù)據(jù)庫貼吧?MemcachedMemcaPHPched?NoSQLMySQL概況?30+子系統(tǒng)?200+模塊?十億級PV?億級提交量?T級數(shù)據(jù)貼吧架構(gòu)發(fā)展歷史架構(gòu)演進(jìn)?三個階段1.性能穩(wěn)定性優(yōu)先性能迭代運(yùn)維2.迭代速速優(yōu)先3.平臺化,運(yùn)維效率,敏捷,自動
3、化優(yōu)先性能優(yōu)先?產(chǎn)品開始功能較少:首頁,主題列表及帖子?追求性能和穩(wěn)定性歷程?08年:C前后端,專有存儲?<1億PV<400w發(fā)帖?業(yè)務(wù)規(guī)模小,迭代慢?業(yè)界缺乏成熟開源方案歷程?C編寫業(yè)務(wù)實(shí)現(xiàn)成本偏高?項(xiàng)目動輒一兩個月,周期太長?新項(xiàng)目越來越多,對迭代開發(fā)速度開始要求迭代開發(fā)速度優(yōu)先
?09年-10年?存儲更多采用MySQL?前端PHP化?異構(gòu)后端,增加交互中間層交互中間件?統(tǒng)一資源定位,負(fù)載均衡
4、?屏蔽交互細(xì)節(jié),后端可以是任何的協(xié)議和數(shù)據(jù)打包格式。?后端資源配置收斂,簡化運(yùn)維?資源包括:后端C模塊,LAMP模塊,Mysql,cache等?以PHP擴(kuò)展形式實(shí)現(xiàn):除非真的很必要,不要用擴(kuò)展。問題1.業(yè)務(wù)規(guī)模開始變大,模塊增多2.并行開發(fā)問題3.C模塊運(yùn)維代價上升4.后端開發(fā)效率不高平臺化,可運(yùn)維?11年~:規(guī)模,業(yè)務(wù)爆發(fā)?十億級PV,億級提交?40+前端模塊,70+C后端模塊?每周~100+并行項(xiàng)目?移動無線業(yè)務(wù)爆發(fā)式增長歷程?11年-~:規(guī)模,業(yè)務(wù)爆發(fā)?通用化,集群化?前后端LAMP化?服務(wù)化:系統(tǒng)劃分,API
5、
LAMP化?C->PHP?有狀態(tài)->無狀態(tài)ShareNothing?專有存儲->通用存儲?RPC:自有協(xié)議->HTTP協(xié)議性能下降?預(yù)期之內(nèi)?響應(yīng)時間變長:PHP本身的性能消耗?吞吐下降LAMP化1.高層cachenginxcache:?減少php消耗。節(jié)省~50%+機(jī)器?2ms->10ms->2msCache2.并行化:后端請求并行化DB?后端調(diào)用串行變并行?185ms->63ms?只是理想情況?現(xiàn)實(shí)業(yè)務(wù)比這復(fù)雜理想架構(gòu)
6、?開發(fā)效率:快速迭代,并行開發(fā),簡單統(tǒng)一的規(guī)范?運(yùn)維上線效率:自動化運(yùn)維,可擴(kuò)展?可擴(kuò)展:可插拔,模塊化,系統(tǒng)劃分?開發(fā)速度+運(yùn)維效率>性能水平分層08年的貼吧模塊依賴關(guān)系子系統(tǒng)劃分全流程平臺化?開發(fā):基準(zhǔn)環(huán)境快速構(gòu)建開發(fā)?測試:持續(xù)集成,在線測試OTP監(jiān)控測試?上線:快速上線,自動化上線?運(yùn)行環(huán)境:ORP(OnlineRuntimePlatform)運(yùn)行上線?在線監(jiān)控:OMP(OnlineManagementPlatform)HDSu?bmA3q'i1Ck(8V@、<=5;GRe(
{NX7s(^~#0r8V@5;
7、GuwbmZlH'iK[M(^~`&to"!W4DS>PzsNXfu?_I(zs(H+Y<=Y
H+Yu'i/}pcQB(v
8、*jT9hE0r8V@*yJ)-FNX$$$$$d]?w(.x/2"!6agLzsNXNX'i:UH+NX-,%-,n}H+qn}O(HDSu?bmA3q'i1Ck(8V@、<=5;GRe(
{N
9、X7s(^~#0r8V@5;GuwbmZlH'iK[M(^~`&to"!W4DS>PzsNXfu?_I(zs(H+Y<=Y
H+Yu'i/}pcQB(v
10、*jT9hE0r8V@*yJ)-FNX$$$$$d]?w(.x/2"!6agLzsNXNX'i:UH+NX-,%-,n}H+qn}O(測試:持續(xù)集成?自動(架構(gòu),編碼)規(guī)范檢查?減少Q(mào)
11、A人力成本?提高代碼質(zhì)量