淺談SegmentFault對網(wǎng)站架構(gòu)的改進與優(yōu)化
系統(tǒng)架構(gòu)的大大加強
SF以前的系統(tǒng)架構(gòu)是什么樣子呢?回答是沒有什么架構(gòu),因為所有的服務(wù)都放在一臺服務(wù)器上,這個答案可能讓很多用戶大跌眼鏡。
是的,受制于創(chuàng)辦之初的資金限制,SegmentFault的網(wǎng)站只有一臺服務(wù)器。在后期訪問量逐漸增大的情況下,這臺服務(wù)器狀況不斷,如果有一天它突然掛掉,那恢復(fù)它可就費事了。
云主機助力
對于SF這樣的初創(chuàng)企業(yè),自己建立數(shù)據(jù)中心顯然是性價比極低的選擇,但是系統(tǒng)架構(gòu)的限制又逼迫SegmentFault不得不做出改變。幸好現(xiàn)在已經(jīng)進入了云時代,大量的基礎(chǔ)設(shè)施問題可以交給更專業(yè)的服務(wù)商解決。經(jīng)過一系列權(quán)衡,SegmentFault最終選擇了青云作為SegmentFault的云主機提供商。
4 * web服務(wù)器(其中一臺備用)
1 * db服務(wù)器(得力于ssd和緩存的使用,目前一臺db是可以滿足需求的)
1 * 搜索服務(wù)器
1 * 緩存服務(wù)器
1 * 后臺服務(wù)服務(wù)器
一般工作的就是這8臺服務(wù)器
更加顆粒化的系統(tǒng)劃分
這一點在web服務(wù)器系統(tǒng)的設(shè)計上尤為突出,它是所有服務(wù)器中壓力最大的,因此機器數(shù)量也是最多。但是每臺服務(wù)器的配置卻是最小的 單核1G 的實例。
這種顆?;膭澐?,有以下幾個好處
節(jié)約成本,如果SegmentFault一次性配置一臺多核大內(nèi)存的服務(wù)器,成本是很高的,而且大部分情況下性能是有浪費的。
增加可靠性,一臺機器掛掉的可能性遠大于多臺機器同時掛掉
方便水平擴展,你可能已經(jīng)注意到我設(shè)計了一臺備用服務(wù)器,它平時就是掛在負(fù)載均衡節(jié)點上的,只是不需要開機(如果不開機是不會計費的),當(dāng)遇到突然增加的訪問量時,SegmentFault可以實時啟動這臺服務(wù)器,從而瞬間減輕其它節(jié)點的壓力。而訪問量降低后,SegmentFault又可以關(guān)掉它,降低使用成本。
比如上面這張圖就是一次典型的流量沖擊處理,在11點左右網(wǎng)站的訪問量陡增,前端web的負(fù)載全部到頂,根據(jù)它的增長曲線,SegmentFault判斷這是一次惡意抓取。需要SegmentFault在程序上做防護的同時在這期間不影響用戶訪問,因此SegmentFault將第四臺備用服務(wù)器的配置臨時調(diào)整到 4核2G,并在12點左右上線,系統(tǒng)負(fù)載馬上恢復(fù)到了正常水平
改變代碼上線模式
通常的上線流程就是直接把可發(fā)布的代碼通過rsync之類的同步到線上機器。
在新版的SF中SegmentFault根據(jù)PHP的特點改變了這一模式,SegmentFault將代碼打包成phar發(fā)布到服務(wù)器,每上線一次就重新打一個包,并將其文件名命名為版本號,比如14.9.5.195755.1718937340.phar。打包發(fā)布有如下好處:
方便管理,只有一個文件,而且傳輸比以前的同步模式更加快速,并且可以避免當(dāng)某些文件沒有同步完用戶就來訪問的錯誤
可以回滾,回滾非常方便,在配置文件里將需要加載的包版本號改成你需要回滾的版本即可,可以快速完成災(zāi)難恢復(fù)
更加好地依賴云服務(wù)
除了SegmentFault的云主機,SegmentFault還使用了如下云服務(wù)
Amazon SES,群發(fā)郵件價格便宜量又足
Mailgun,目前SegmentFault的主力郵件發(fā)送服務(wù),大家的通知提醒服務(wù)都是通過它
SendCloud,備份郵件發(fā)送服務(wù),主要用來發(fā)一些mailgun無法收到的郵件,比如QQ Mail等等
又拍云,所有的靜態(tài)文件,包括用戶頭像和上傳圖片的存儲
NewRelic,程序性能監(jiān)測
相關(guān)文章
手機網(wǎng)站應(yīng)該如何做優(yōu)化? 百度移動搜索引擎的排名規(guī)則是怎樣的?
如今,手機已經(jīng)成為人們?nèi)粘I钪斜夭蝗鄙俚墓ぞ撸謾C網(wǎng)站的使用率相對于PC端的使用率也越來越高,那么手機網(wǎng)站應(yīng)該如何做優(yōu)化?百度移動搜索引擎的排名規(guī)則是怎樣的?2016-01-18垂直電商類網(wǎng)站有沒有必要做SEO優(yōu)化?
垂直電商類網(wǎng)站有沒有必要做SEO優(yōu)化?電商類的網(wǎng)站主要做的是產(chǎn)品的質(zhì)量,那么資訊類的網(wǎng)站經(jīng)常做的seo優(yōu)化電商網(wǎng)站需要嗎?于暴利類電商網(wǎng)站,那毫無疑問,進行SEO優(yōu)化極2016-01-14SEO優(yōu)化之網(wǎng)站內(nèi)容及文章優(yōu)化經(jīng)驗分享
SEO是每個網(wǎng)站需要優(yōu)化的,而網(wǎng)站內(nèi)容改如何優(yōu)化呢?本文將提供網(wǎng)站內(nèi)容優(yōu)化經(jīng)驗供大家了解,希望對你的網(wǎng)站有所幫助和啟發(fā)2016-01-13- 雖然現(xiàn)在很多搞網(wǎng)站優(yōu)化的核心工作就是對網(wǎng)站首頁進行優(yōu)化,認(rèn)為通過將首頁的權(quán)重提升,那么對于整個網(wǎng)站的曝光率和流量都會產(chǎn)生本質(zhì)的提升,一起來提升網(wǎng)站圖片的優(yōu)化效果2016-01-13
網(wǎng)站SEO優(yōu)化之站內(nèi)鏈接的作用及其優(yōu)化
網(wǎng)站優(yōu)化的內(nèi)容無非是老生常談的站內(nèi)優(yōu)化以及站外優(yōu)化兩個大方向,說起來容易但是真正在實際操作中并非如大家所說的如此容易,想必大家都知道搜索引擎算法總是瞬息萬變,那2016-01-12- 今天小編為大家?guī)砹司W(wǎng)站里固定文字的優(yōu)化方法,感興趣的朋友們可以跟著小編去下文了解一下哦2016-01-11
2016年新網(wǎng)站該怎么優(yōu)化? seo優(yōu)化五大注意事項
2016年新網(wǎng)站該怎么優(yōu)化? ?我們知道百度的規(guī)則變化很多,2016年又會出現(xiàn)哪些變故呢?今天SEO今天就和大家一起來聊聊2016年新網(wǎng)站seo優(yōu)化需要注意五個事項,需要的朋友可以2016-01-11網(wǎng)站tag對seo有何影響? tag標(biāo)簽對seo的作用以及網(wǎng)站優(yōu)化注意事項
每次發(fā)表文章的時候,tag標(biāo)簽都在站長們眼前聳然挺立。很多站長都在糾結(jié),到底要不要加tag標(biāo)簽。而tag對seo優(yōu)化有著很重要的作用,那么網(wǎng)站tag對seo有何影響?本文將提供ta2016-01-11web前端性能優(yōu)化之合理的優(yōu)化網(wǎng)站圖片可以帶來更多的流量
無論什么網(wǎng)站都少不了圖片,據(jù)統(tǒng)計,60%的網(wǎng)站流量均來自網(wǎng)站圖畫,可見網(wǎng)站的圖片對網(wǎng)站流量的影響,但是該怎么優(yōu)化圖片呢?下面分享web前端圖畫極限優(yōu)化策略,需要的朋友2016-01-08- 今天小編為大家?guī)砹俗鳛榫W(wǎng)站編輯需要具備優(yōu)化技能介紹,感興趣的朋友們可以跟著小編去下文了解一下哦2016-01-19

