分布式web框架專題能力輸出介紹_第1頁(yè)
分布式web框架專題能力輸出介紹_第2頁(yè)
分布式web框架專題能力輸出介紹_第3頁(yè)
分布式web框架專題能力輸出介紹_第4頁(yè)
分布式web框架專題能力輸出介紹_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、分布式WEB框架:現(xiàn)狀與解決方案商業(yè)解決方案:性能穩(wěn)定功能單一成本昂貴難以線性擴(kuò)展開源解決方案:免費(fèi)功能單一部署復(fù)雜,技術(shù)要求高運(yùn)維成本較高分布式WEB框架:降低企業(yè)成本:基于開源組件上的功能擴(kuò)展,無(wú)license帶來(lái)高昂費(fèi)用自動(dòng)探測(cè)功能:應(yīng)用上線下線,全程自動(dòng),無(wú)須人工干預(yù),減少人為參與帶來(lái)的誤操作部署發(fā)布功能:統(tǒng)一的部署中心和發(fā)布中心,負(fù)載均衡組件自動(dòng)部署,war包自動(dòng)發(fā)布。監(jiān)控功能:可視化監(jiān)控中心,曲線圖、餅狀圖,滿足管理者不同的需求。配置中心:全部配置通過(guò)前臺(tái)操作,權(quán)限分級(jí)管理,日志可回溯?;诜植际骄彺娴膕ession管理:容量可線性擴(kuò)展,基于容器(ketty)的原生擴(kuò)展,應(yīng)用無(wú)縫遷

2、移。All-Active部署模式:無(wú)單點(diǎn)瓶頸,負(fù)載均衡組件隨業(yè)務(wù)擴(kuò)展自由擴(kuò)展。解決方案:自研分布式WEB框架現(xiàn)狀面臨挑戰(zhàn):1、預(yù)算不足,改造和維護(hù)成本不斷上升2、應(yīng)用動(dòng)態(tài)伸縮時(shí)負(fù)載均衡是否能自動(dòng)匹配,減少人為參與帶來(lái)的誤操作?3、開源組件功能單一,需要各自單獨(dú)部署,驟復(fù)雜?WAR包,可否一鍵發(fā)布和部署?5、運(yùn)行態(tài)的性能數(shù)據(jù)的情況,性能數(shù)據(jù)達(dá)到閾值前負(fù)載均衡能否及時(shí)發(fā)送告警信息?6、還在使用命令行、shell腳本?運(yùn)維人員的技術(shù)水平要求苛刻?7、應(yīng)用宕機(jī)時(shí)會(huì)話如何保持?分布式WEB框架:方案對(duì)比項(xiàng)目分布式WEB框架商業(yè)解決方案開源解決方案成本免費(fèi)收費(fèi)免費(fèi)線性擴(kuò)展能力線性擴(kuò)展難以擴(kuò)展線性擴(kuò)展功能多

3、樣性功能豐富:四層/七層/網(wǎng)頁(yè)緩存/文件中心功能單一功能單一部署簡(jiǎn)單:一鍵部署簡(jiǎn)單復(fù)雜(源碼編譯)運(yùn)維簡(jiǎn)單:1、多種樣式圖2、閾值告警3、可視化配置界面簡(jiǎn)單復(fù)雜(配置文件、日志)會(huì)話保持滿足failover基于分布式session共享簡(jiǎn)單(會(huì)話粘滯)簡(jiǎn)單(會(huì)話粘滯)功能擴(kuò)展代碼完全掌握較難較難分布式WEB框架:產(chǎn)品組合介紹項(xiàng)目備選方案比較依據(jù)結(jié)果四層負(fù)載LVS、Ali-LVSAli-LVS完全兼容LVS,在LVS的基礎(chǔ)上做了功能和安全方面的增強(qiáng)Ali-LVS七層負(fù)載Nginx、Tengine、haproxyHaproxy單進(jìn)程模式,不能發(fā)揮多核的最大優(yōu)點(diǎn);Tengine完全兼容Nginx,在N

4、ginx的基礎(chǔ)上做了功能和安全方面的增強(qiáng)Tengine網(wǎng)頁(yè)緩存Squid、VarnishVarnish性能要比Squid高,正則表達(dá)式快速、批量地清除部分緩存Varnish容器Tomcat、Jetty、JBOSS基于Jetty自主研發(fā)的容器ketty,嵌入式容器,穩(wěn)定、源碼級(jí)把控Ketty分布式WEB框架:技術(shù)應(yīng)用場(chǎng)景分布式WEB框架專題:分布式Web框架是基于開源組件Ali-LVS、Tengine、Varnish、Ketty進(jìn)行的二次開發(fā),提供整體方案,解決如:快速建站,WEB應(yīng)用分布式部署、WEB層Session共享、WEB層文件存取、 統(tǒng)一WEB容器類型等問(wèn)題,并提供可視化運(yùn)維界面(可對(duì)

5、整個(gè)平臺(tái)進(jìn)行配置、部署和監(jiān)控),有效的解決了單點(diǎn)故障,可隨業(yè)務(wù)需要?jiǎng)討B(tài)線性擴(kuò)展,并降低了系統(tǒng)運(yùn)維的成本。適用范圍:大型WEB系統(tǒng),需要跨區(qū)域多中心部署模式。高可用、高并發(fā),無(wú)法由單個(gè)WEB應(yīng)用支撐業(yè)務(wù)。對(duì)成本要求較低的系統(tǒng):PCServer+多活系統(tǒng),替換原有硬件負(fù)載和小型機(jī)的部署模式,解決企業(yè)成本高企。需遵循一定的規(guī)則和約束(如容器為Ketty)。原有架構(gòu)新型架構(gòu)分布式WEB框架:推薦組合方案說(shuō)明序號(hào)組合方案適用場(chǎng)景1Ali-LVS+Keepalived適用前端應(yīng)用使用四層協(xié)議負(fù)載均衡。如數(shù)據(jù)庫(kù)集群2Tengine+Keepalived適用前端應(yīng)用使用七層協(xié)議負(fù)載均衡。如內(nèi)部服務(wù)框架3Ali

6、-LVS+KeepalivedS+Tengine+Varnish適用前端應(yīng)用使用四層負(fù)載主備/主主的方式部署,可選網(wǎng)頁(yè)緩存,適合中性網(wǎng)站4三層交換機(jī)*+Ali-LVS+Tengine+Varnish適用中大型web網(wǎng)站,無(wú)CDN服務(wù)5CDN+三層交換機(jī)*+Ali-LVS+Tengine適用大型web網(wǎng)站,帶CDN服務(wù)*注:Ali-LVS可以使用DNS+多組熱備方式實(shí)現(xiàn)線性擴(kuò)展,但部署結(jié)構(gòu)復(fù)雜,成本較高,不推薦使用, 使用三層交換機(jī)實(shí)現(xiàn)等價(jià)路由,部署結(jié)構(gòu)簡(jiǎn)單,成本較低。分布式WEB框架:技術(shù)特性主要功能:基于 Ali-LVS,支持四層集群的負(fù)載能力基于Tengine,增強(qiáng)了七層負(fù)載的能力基于Va

7、rnish,網(wǎng)頁(yè)緩存層,動(dòng)態(tài)分離能力基于分布式緩存的session共享功能, 與容器無(wú)縫結(jié)合支持線性擴(kuò)展,對(duì)應(yīng)用零侵入;負(fù)載均衡探測(cè)模塊,對(duì)應(yīng)用實(shí)時(shí)監(jiān)控,動(dòng)態(tài)調(diào)整負(fù)載均衡的能力;可視化的運(yùn)維管理平臺(tái),實(shí)時(shí)監(jiān)控各個(gè)組件負(fù)載情況;可視化的配置管理中心,提高運(yùn)維能力,減少故障運(yùn)維成本;性能指標(biāo)*:四層負(fù)載性能*:16w TPS七層負(fù)載性能:10w TPS(靜態(tài))容器性能:2.5wTPS(單實(shí)例)集群能力擴(kuò)展系數(shù):0.9*硬件說(shuō)明:linux2.6/內(nèi)存500G/存儲(chǔ)2T/10g網(wǎng)卡Intel(R) Xeon(R) CPU E7-4820 v2.0 2.00GHz 8*4核*淘寶日均業(yè)務(wù)量TPS峰值約

8、5wTPS(來(lái)源 )分布式WEB框架:功能列表項(xiàng)目功能研發(fā)亮點(diǎn)性能負(fù)載均衡分四層和七層負(fù)載,結(jié)合zookeeper應(yīng)用啟動(dòng)后,能自動(dòng)探測(cè)并加入到負(fù)載均衡1、自動(dòng)探測(cè)模塊2、灰度策略控制平臺(tái)四層負(fù)載單臺(tái)性能達(dá)到16WTPS以上,七層負(fù)載單臺(tái)性能達(dá)到10WTPS以上網(wǎng)頁(yè)緩存基于Varnish緩存管理??梢暬渲门c監(jiān)控靜態(tài)頁(yè)面情況下,與未使用網(wǎng)頁(yè)緩存,性能提升15%以上文件服務(wù)基于HDFS的統(tǒng)一文件管理,解決了小文件存儲(chǔ),可對(duì)文件進(jìn)行全局把控。全新自主研發(fā)Session管理基于分布式緩存的session管理,與容器無(wú)縫結(jié)合,對(duì)應(yīng)用零侵入全新自主研發(fā)綜合性能3000TPS可視化監(jiān)控中心可視化頁(yè)面,全面

9、監(jiān)控LVS、Tengine、Varnish、WEB容器等全新自主研發(fā)可視化配置中心對(duì)框架內(nèi)各個(gè)組件進(jìn)行可視化的配置操作,分級(jí)權(quán)限管理,可審計(jì)回溯的日志全新自主研發(fā)分布式WEB框架:總結(jié)存在風(fēng)險(xiǎn):本項(xiàng)目尚未在實(shí)際的生產(chǎn)環(huán)境下使用。能力成熟度:截止到6月底核心組件已完成并經(jīng)過(guò)實(shí)驗(yàn)室環(huán)境下的各項(xiàng)測(cè)試,監(jiān)控中心和配置中心基本完成,部署中心目前正在設(shè)計(jì)中,預(yù)計(jì)7月底發(fā)布。分布式WEB框架:業(yè)務(wù)場(chǎng)景一(網(wǎng)站架構(gòu))使用前前端使用商業(yè)負(fù)載均衡器,成本較高,線性擴(kuò)展困難;后端會(huì)話采用粘滯或hash應(yīng)用宕機(jī)切換后,原session數(shù)據(jù)丟失;數(shù)據(jù)庫(kù)采用主備模式,數(shù)據(jù)庫(kù)出現(xiàn)問(wèn)題由應(yīng)用負(fù)責(zé)故障切換;使用后前端使用開源的

10、負(fù)載均衡,可隨業(yè)務(wù)線性擴(kuò)展;會(huì)話采用基于分布式緩存的session共享模式,應(yīng)用宕機(jī)滿足failover;數(shù)據(jù)庫(kù)層采用L4負(fù)載均衡,后端數(shù)據(jù)庫(kù)數(shù)量對(duì)應(yīng)用無(wú)感知Internet設(shè)備應(yīng)用數(shù)據(jù)F5/A10Internet設(shè)備應(yīng)用數(shù)據(jù)4層/7層/網(wǎng)頁(yè)緩存分布式緩存交換機(jī)分布式WEB框架:業(yè)務(wù)場(chǎng)景二(服務(wù)框架)邏輯層(Backend)接入層(Frontend)邏輯層(Backend)七層負(fù)載使用前前端使用自研發(fā)的接入端,性能較低,1.5WTPS;后端邏輯層灰度發(fā)布較難實(shí)施;使用后前端采用L7負(fù)載均衡,使用主主模式,性能提升至7WTPS+;后端邏輯層,L7根據(jù)用戶請(qǐng)求header頭,區(qū)分服務(wù)實(shí)例版本,實(shí)現(xiàn)

11、灰度發(fā)布。服務(wù)框架:分為接入層(frontend)和邏輯層(backend)。接入層負(fù)責(zé)接受客戶端請(qǐng)求,并轉(zhuǎn)發(fā)請(qǐng)求到邏輯層。邏輯層負(fù)責(zé)處理具體的業(yè)務(wù)邏輯。邏輯層按照供應(yīng)商或者業(yè)務(wù)模塊劃分為多個(gè)應(yīng)用(app),每一個(gè)應(yīng)用包含多個(gè)應(yīng)用實(shí)例(AppServer)。一個(gè)應(yīng)用實(shí)例運(yùn)行在一個(gè)JVM容器中,由資源管理平臺(tái)(YARN)統(tǒng)一按照需求來(lái)創(chuàng)建應(yīng)用實(shí)例。分布式WEB框架:組件性能總覽項(xiàng)目實(shí)現(xiàn)方式功能性能四層負(fù)載基于Keepalived+LVS實(shí)現(xiàn)1、多模式負(fù)載支持2、VIP漂移3、探測(cè)模塊自動(dòng)配置四層負(fù)載單臺(tái)性能達(dá)到16WTPS以上七層負(fù)載基于Tengine實(shí)現(xiàn)1、支持灰度發(fā)布,訪問(wèn)控制等多種復(fù)雜調(diào)度

12、2、探測(cè)模塊自動(dòng)配置七層負(fù)載單臺(tái)性能達(dá)到10WTPS以上網(wǎng)頁(yè)緩存基于Varnish實(shí)現(xiàn)1、高效內(nèi)存緩存2、95%以上高命中率靜態(tài)頁(yè)面情況下,與未使用網(wǎng)頁(yè)緩存,性能提升15%以上Session管理基于分布式緩存的session管理,與容器無(wú)縫結(jié)合,對(duì)應(yīng)用零侵入全新自主研發(fā)綜合性能3000TPS分布式WEB框架:功能詳述(負(fù)載均衡+網(wǎng)頁(yè)緩存) 大型網(wǎng)站可以存在多級(jí)代理,最前端可用F5或LVS作為入口,讓它們分擔(dān)外部的高并發(fā)流量,負(fù)載均衡解決方案是指在一臺(tái)或多臺(tái)服務(wù)器相應(yīng)的操作系統(tǒng)上安裝一個(gè)或多個(gè)附加軟件來(lái)實(shí)現(xiàn)負(fù)載均衡。網(wǎng)頁(yè)緩存的原理是根據(jù)從 WEB 服務(wù)器返回的 HTTP 頭標(biāo)記來(lái)緩沖靜態(tài)頁(yè)面。負(fù)

13、載均衡支持基于tcp/ip連接的任務(wù)分配(4層負(fù)載均衡) 支持基于應(yīng)用內(nèi)容的任務(wù)分配(7層負(fù)載均衡) 支持負(fù)載均衡器自身的橫向擴(kuò)展 (負(fù)載均衡集群部署)支持跨vlan通訊支持web集群的動(dòng)態(tài)伸縮 (增加減少服務(wù)器時(shí),負(fù)載均衡器能正常工作)產(chǎn)品發(fā)布網(wǎng)頁(yè)緩存頁(yè)面自動(dòng)緩存:可設(shè)置緩存時(shí)間,可以定義緩存過(guò)期的時(shí)間,自動(dòng)去更新這些緩存。網(wǎng)頁(yè)片段緩存:將頁(yè)面的部分而不是全部進(jìn)行緩存。web 展現(xiàn)層緩存:包括靜態(tài) html 、圖片、js數(shù)據(jù)等,應(yīng)充分利用靜態(tài)化反向代理等技術(shù)加快靜態(tài)資源的讀取和后端系統(tǒng)的輪詢調(diào)用分布式WEB框架:功能詳述(web容器)支持標(biāo)準(zhǔn)Servlet支持熱部署 易擴(kuò)展,易集成,易插拔

14、高效率(長(zhǎng)連接/短事務(wù)/IO請(qǐng)求處理/) 可作為組件嵌入應(yīng)用程序 開源且可持繼演進(jìn),業(yè)界主流支持yarn架構(gòu)下資源控制 支持動(dòng)態(tài)插件包JAR包發(fā)布引入Node.js,增強(qiáng)javascript的執(zhí)行效率(考慮HTML5的流行趨勢(shì)及支撐)在某些需要滿足javaEE規(guī)范的應(yīng)用使用tomcat和Jboss構(gòu)建復(fù)合容器 web容器是一種服務(wù)程序,在服務(wù)器一個(gè)端口就有一個(gè)提供相應(yīng)服務(wù)的程序,而這個(gè)程序就是處理從客戶端發(fā)出的請(qǐng)求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器。一個(gè)服務(wù)器可以多個(gè)容器。這里采用自主研發(fā)的Ketty.分布式WEB框架:功能詳述(session共享)Sess

15、ionID一定長(zhǎng)度的、一種無(wú)規(guī)律字符串組成,保證了Session ID值唯一。分布式環(huán)境Session數(shù)據(jù)的強(qiáng)一致性.Session的失效及超時(shí)檢查機(jī)制Session數(shù)據(jù)在不同容器中的一致性和高效讀寫 提供一個(gè)群集保存session共享信息.其他應(yīng)用統(tǒng)統(tǒng)把自己的session信息存放到session集群服務(wù)器組。當(dāng)應(yīng)用系統(tǒng)需要session信息的時(shí)候直接到session群集服務(wù)器上讀取。分布式WEB框架:功能詳述(配置管理)負(fù)載均衡配置:負(fù)載均衡主要包含配置向?qū)?VIP配置,LVS配置,Tengine配置Varnish配置,web應(yīng)用,agent,關(guān)聯(lián).負(fù)載拓?fù)洌嚎梢圆榭凑麄€(gè)負(fù)載拓?fù)浼盎厩闆r

16、應(yīng)用管理:基于ketty容器之上的分布式的可視化應(yīng)用發(fā)布,實(shí)現(xiàn)了以應(yīng)用版本的顆粒度進(jìn)行管控系統(tǒng)基礎(chǔ)配置:對(duì)用戶,角色,菜單及日志的管理配置管理又名NebulaWeb利用直觀的界面,為運(yùn)維人員提供了全面、精準(zhǔn)的配置及其他服務(wù),從而減少了維護(hù)成本,排障時(shí)間,提升了優(yōu)化效率。建議在使用本系統(tǒng)之前,先了解LVS、Tengine(或nginx)、Varnish等軟件主要功能。分布式WEB框架:性能詳述(四層負(fù)載)四層負(fù)載:基于keepalived+Ali-LVS實(shí)現(xiàn),支持DR、FULLNAT多模式調(diào)度,VIP漂移實(shí)現(xiàn)無(wú)縫切換。因LVS沒(méi)有流量產(chǎn)生的特性,對(duì)內(nèi)存和CPU資源消耗比較低,抗負(fù)載能力強(qiáng)。且當(dāng)后

17、端RS增加時(shí),性能可接近線性增長(zhǎng)。如右圖所示:1、測(cè)試后端RS為tengine,3臺(tái)tengine后端分別掛載有一個(gè)響應(yīng)時(shí)間為20ms的動(dòng)態(tài)應(yīng)用。測(cè)試模式為DR模式。2、第一列為單獨(dú)測(cè)試三臺(tái)tengine的tps,三臺(tái)結(jié)果相近。3、第二列為單臺(tái)tengine掛載至LVS后的結(jié)果,可以看到在DR模式下,損耗極小。4、第3-5列可以看到,隨著后端RS的數(shù)量增加,在相同并發(fā)數(shù)的情況下,TPS基本接近線性增長(zhǎng),并發(fā)數(shù)越高,效果越好5、當(dāng)測(cè)試應(yīng)用為靜態(tài)應(yīng)用時(shí),隨著后端RS的增加,TPS峰值可達(dá)到16W。分布式WEB框架:性能詳述(七層負(fù)載)七層負(fù)載:基于Tengine實(shí)現(xiàn),Tengine具有高性能,高可

18、配置性等特點(diǎn)。在其配置文件中,可實(shí)現(xiàn)url重寫,基于cookie的灰度發(fā)布,基于head的灰度發(fā)布(需額外插件包 ),訪問(wèn)控制,gzip壓縮等復(fù)雜的功能。同時(shí)其性能在同類軟件中也是佼佼者。如右圖所示:1、測(cè)試后端RS為一個(gè)響應(yīng)時(shí)間為20ms的動(dòng)態(tài)應(yīng)用。2、隨著后端應(yīng)用服務(wù)器的增加,tengine在各并發(fā)下的TPS相應(yīng)增長(zhǎng),增長(zhǎng)幅度接近線性。當(dāng)兩臺(tái)增加到三臺(tái)時(shí),在300并發(fā)下的TPS增長(zhǎng)并不明顯,原因?yàn)閴毫Σ粔?,?dāng)加大并發(fā)量時(shí),TPS增加就接近線性了。3、在靜態(tài)應(yīng)用的測(cè)試中,隨著后端rs的增加,tengine的TPS峰值達(dá)到10WTPS。分布式WEB框架:性能詳述(網(wǎng)頁(yè)緩存)網(wǎng)頁(yè)緩存:基于Varnish實(shí)現(xiàn),Varnish作為一個(gè)內(nèi)存緩存,其響應(yīng)時(shí)間短、命中率高、可配置型強(qiáng)。如右圖所示:1、測(cè)試應(yīng)用為一個(gè)靜態(tài)html頁(yè)面。2、同一應(yīng)用的直連和通過(guò)varnish的對(duì)比結(jié)果: a. 當(dāng)請(qǐng)求數(shù)為100W次時(shí),總響應(yīng)時(shí)間縮短9.6% b. 當(dāng)請(qǐng)求數(shù)為200W次時(shí),總響應(yīng)時(shí)間縮短15.8% c. 當(dāng)請(qǐng)求數(shù)為300W次時(shí),總響應(yīng)時(shí)間縮短32.8%可看出Varnish對(duì)靜態(tài)請(qǐng)求如html,js,css,jpg等請(qǐng)求的性能提升至少在15%以上。3、 在分布式WEB框架中,Varnish還可以配合Tengine做動(dòng)靜分離,僅處理靜態(tài)請(qǐng)求而不對(duì)不需要緩存的動(dòng)態(tài)請(qǐng)求產(chǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論