企業(yè)私有PaaS云架構(gòu)_第1頁(yè)
企業(yè)私有PaaS云架構(gòu)_第2頁(yè)
企業(yè)私有PaaS云架構(gòu)_第3頁(yè)
企業(yè)私有PaaS云架構(gòu)_第4頁(yè)
企業(yè)私有PaaS云架構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、企業(yè)私有PaaS云架構(gòu)私有PaaS在樂(lè)視的實(shí)踐私有:公有技術(shù)更復(fù)雜;要考慮問(wèn)題太多私有的更關(guān)注核心問(wèn)題實(shí)踐:以務(wù)實(shí)為指導(dǎo)思想; 緊密結(jié)合業(yè)務(wù)特點(diǎn)和需求;不求高大上,但求實(shí)用只解決每個(gè)階段的核心問(wèn)題適合聽(tīng)眾小型互聯(lián)網(wǎng)創(chuàng)業(yè)公司傳統(tǒng)企業(yè)互聯(lián)網(wǎng)化關(guān)鍵詞及適合聽(tīng)眾私有PaaS在樂(lè)視的實(shí)踐大綱背景及發(fā)展歷程01技術(shù)實(shí)現(xiàn)02微服務(wù)探索03私有PaaS在樂(lè)視的實(shí)踐背景及發(fā)展歷程私有PaaS在樂(lè)視的實(shí)踐私有PaaS在樂(lè)視的實(shí)踐智能設(shè)備云平臺(tái)推送同步OTA設(shè)備管理遠(yuǎn)程控制天氣黃頁(yè)壁紙日歷鬧鐘視頻通話網(wǎng)絡(luò)短信多屏互動(dòng)群聊瀏覽器免流量個(gè)人云邊看邊買(mǎi)桌面插件私有PaaS在樂(lè)視的實(shí)踐云平臺(tái)技術(shù)架構(gòu)應(yīng)用層(業(yè)務(wù)層)服務(wù)層負(fù)

2、載均衡WAF接入層動(dòng)態(tài)緩存日志MQRPCmysqlredismongo資源層hbasecache私有PaaS在樂(lè)視的實(shí)踐打通接入層、應(yīng)用層、服務(wù)層承載了云平臺(tái)95%以上的業(yè)務(wù)PaaS在云平臺(tái)中的作用私有PaaS在樂(lè)視的實(shí)踐PaaS發(fā)展歷程:階段一問(wèn)題:團(tuán)隊(duì)剛起步,基礎(chǔ)設(shè)施一窮二白典型的一體式應(yīng)用,所有的 邏輯放在一個(gè)大的JAR 包里上線頻繁,僅有的一個(gè)運(yùn)維被折磨實(shí)現(xiàn)方案:中控腳本docker部署 自動(dòng)化業(yè)務(wù) 標(biāo)準(zhǔn)化混合部署私有PaaS在樂(lè)視的實(shí)踐問(wèn)題:機(jī)器掛了要人工重新部署容器掛了要重新部署資源無(wú)法合理分配業(yè)務(wù)之間互相影響實(shí)現(xiàn)方案:Mesos + marathon + dockerPaaS發(fā)展

3、歷程:階段二故障 遷移資源 調(diào)度資源限制私有PaaS在樂(lè)視的實(shí)踐問(wèn)題:業(yè)務(wù)逐步復(fù)雜化; 一個(gè)業(yè)務(wù)由多個(gè)服務(wù)組成多個(gè)業(yè)務(wù)實(shí)現(xiàn)了重復(fù)的功能, 需要抽出來(lái)成為獨(dú)立服務(wù)灰度發(fā)布、集中配置等新需求業(yè)務(wù)人員不知道需要多少資 源;容器評(píng)估: 健康、 忙、 閑?方案:支持灰度發(fā)布、配置集中化、 微服務(wù)PaaS發(fā)展歷程:階段三灰度 發(fā)布配置 集中化微服務(wù)支持私有PaaS在樂(lè)視的實(shí)踐PaaS平臺(tái)現(xiàn)狀400+服務(wù)器3000+容器150+業(yè)務(wù)全球5個(gè) 數(shù)據(jù)中心私有PaaS在樂(lè)視的實(shí)踐技術(shù)實(shí)現(xiàn)私有PaaS在樂(lè)視的實(shí)踐系統(tǒng)架構(gòu)虛擬集群A路由節(jié)點(diǎn)計(jì)算節(jié)點(diǎn)虛擬集群Bmarathon鏡像倉(cāng)庫(kù)虛擬集群Cmesos masterc

4、hronos北美數(shù)據(jù)中心印度數(shù)據(jù)中心中國(guó)數(shù)據(jù)中心ceberus控制中心zeus鏡像倉(cāng)庫(kù)ceberusceberuszookeeper私有PaaS在樂(lè)視的實(shí)踐zeus +ceberus: golang自主開(kāi)發(fā)mesos: = 0.23嘗試自己做 containerizer和executor目前選擇的是原生的docker-containerizermarathon: long-run 應(yīng)用chronos:cron 應(yīng)用docker: = 1.0zookeepernginx:七層負(fù)載均衡haproxy: 四層負(fù)載均衡核心組件私有PaaS在樂(lè)視的實(shí)踐全球化發(fā)展戰(zhàn)略要求應(yīng)用全球部署數(shù)據(jù)中心到控制中心之間

5、的網(wǎng)絡(luò)狀況不穩(wěn)定多數(shù)據(jù)中心中國(guó) 大陸北美東南亞印度控制中心私有PaaS在樂(lè)視的實(shí)踐每個(gè)數(shù)據(jù)中心使用一套基礎(chǔ)組件管理多個(gè)虛擬集群集群與集群之間使用mesosattribute進(jìn)行邏輯隔離每個(gè)集群包含一組計(jì)算節(jié)點(diǎn)和路由節(jié)點(diǎn)計(jì)算節(jié)點(diǎn):mesos slavedocker路由節(jié)點(diǎn):nginx 或 haproxy多虛擬集群數(shù)據(jù)中心虛擬集群A路由節(jié)點(diǎn)nginx計(jì)算節(jié)點(diǎn) Mesos slave docker虛擬集群B鏡像倉(cāng)庫(kù)虛擬集群Cmesos masterchronosceberusmarathonzookeeper私有PaaS在樂(lè)視的實(shí)踐基礎(chǔ)鏡像 + 應(yīng)用代碼基礎(chǔ)鏡像包含支持業(yè)務(wù)代碼運(yùn)行的基礎(chǔ)組件應(yīng)用代碼

6、由zeus進(jìn)行打包并分發(fā)到不同的數(shù)據(jù)中心不同業(yè)務(wù)可以共享相同的基礎(chǔ)鏡像接近于業(yè)務(wù)開(kāi)發(fā)的習(xí)慣,學(xué)習(xí)成本低,易于接受代碼源支持svn,git以及壓縮包純鏡像方式業(yè)界常用的容器云部署方式支持手動(dòng)/自動(dòng)觸發(fā)編譯鏡像通過(guò)全球鏡像架構(gòu)保證各個(gè)數(shù)據(jù)中心鏡像一致兩種發(fā)布方式私有PaaS在樂(lè)視的實(shí)踐App是部署的最小單位用Project來(lái)聚合一組邏輯上相關(guān)的AppProject + App的組織方式私有PaaS在樂(lè)視的實(shí)踐WEB:Cron:Task:暴露HTTP端口 周期性任務(wù) 一次性任務(wù)Worker: 通常不對(duì)外暴露端口Service: 微服務(wù);暴露TCP端口多種App類(lèi)型無(wú)狀態(tài)私有PaaS在樂(lè)視的實(shí)踐七層負(fù)

7、載均衡: nginxNginx上部署agent,接受規(guī)則變更通知規(guī)則加載:早期:Nginx reload 實(shí)現(xiàn)規(guī)則加載現(xiàn)在: 自定義 lua 模塊,實(shí)現(xiàn)規(guī)則平滑加載支持nginx自定義配置接入層負(fù)載均衡私有PaaS在樂(lè)視的實(shí)踐目的:及時(shí)報(bào)警容器資源使用圖表為容器評(píng)估及擴(kuò)容/縮容提供依據(jù)metrics容器:內(nèi)存、CPU、網(wǎng)絡(luò)I/O在容器外采集,更優(yōu)雅前端nginx:請(qǐng)求數(shù)請(qǐng)求處理時(shí)間5xx個(gè)數(shù)Metrics collect計(jì)算節(jié)點(diǎn)私有PaaS在樂(lè)視的實(shí)踐aresopentsdb報(bào)警處理elastic search計(jì)算節(jié)點(diǎn)aresKafaka集群alert路由節(jié)點(diǎn)aresMetrics colle

8、ct 實(shí)現(xiàn)私有PaaS在樂(lè)視的實(shí)踐配置集中化及變更通知傳統(tǒng)配置管理方式的缺點(diǎn)將配置文件和代碼一起維護(hù)和部署。當(dāng)運(yùn)行環(huán)境存在多樣性,配置與運(yùn)行環(huán)境適配就存在很大的難度。采用配置文件集中管理的好處:方便維護(hù):不同應(yīng)用不同環(huán)境的配置 文件的統(tǒng)一管理保存,并提供可視化 界面進(jìn)行文件內(nèi)容的增刪改查。方便部署:一次修改多個(gè)運(yùn)行環(huán)境多 個(gè)實(shí)例及時(shí)生效。無(wú)狀態(tài)有 狀態(tài)私有PaaS在樂(lè)視的實(shí)踐配置集中化實(shí)現(xiàn)虛擬集群A計(jì)算節(jié)點(diǎn)Conf agent容器A容器B本地 配置緩存Configdashboardetcd私有PaaS在樂(lè)視的實(shí)踐分流點(diǎn)接入層分流方案Nginx + LUA模塊 + redis策略庫(kù)分流依據(jù)設(shè)備型

9、號(hào)IP地址區(qū)域流量百分比Cookie灰度發(fā)布匹配策略到新版本私有PaaS在樂(lè)視的實(shí)踐灰度發(fā)布架構(gòu)dashboardDB策略庫(kù)外部請(qǐng)求nginxRedis 策略緩存正常版本Lua分流特點(diǎn)1.沒(méi)有灰度版本的應(yīng)用不會(huì)走灰度分流環(huán)節(jié)2.簡(jiǎn)單策略直接在nginx配置3.復(fù)雜策略調(diào)用lua代碼分流分流流程1.部署灰度應(yīng)用2.創(chuàng)建灰度策略3.關(guān)聯(lián)灰度版本及分流策略4.應(yīng)用策略生效應(yīng)用信息庫(kù)路由更新程序容器運(yùn)行老代碼容器運(yùn)行新代碼私有PaaS在樂(lè)視的實(shí)踐與測(cè)試的集合DeveloperJenkinsQuick JobJenkinsSLow JobGerritTesterJekinsSub-codeTrigger

10、-jobTrigger-job產(chǎn)生測(cè)試報(bào)告通過(guò)/失敗DeliveryJenkins sysQuick Job流程:開(kāi)發(fā)工程師提交源碼到Gerrit,自動(dòng)觸發(fā)job;Job 調(diào)用Pass rest-api,自動(dòng)構(gòu)建并部署測(cè)試環(huán)境;Job 觸發(fā)冒煙測(cè)試用例,并生成“測(cè)試報(bào)表”;Job 執(zhí)行PASS,“合入主干”。否,CI失敗。Slow Job流程:開(kāi)發(fā)工程師交付項(xiàng)目于測(cè)試工程師,自動(dòng)觸發(fā)job;Job 調(diào)用Pass rest-api,自動(dòng)構(gòu)建并部署測(cè)試環(huán)境;Job 觸發(fā)全量測(cè)試用例,并生成“測(cè)試報(bào)表”。如果job 執(zhí)行PASS,“測(cè)試準(zhǔn)入”。否,準(zhǔn)入失敗。執(zhí)行自動(dòng)化測(cè)試用例PaaS平臺(tái)編譯、打包、

11、部署私有PaaS在樂(lè)視的實(shí)踐微服務(wù)探索私有PaaS在樂(lè)視的實(shí)踐業(yè)務(wù)逐步復(fù)雜化,從開(kāi)發(fā)效率、易維護(hù)性、性能等角度 考慮,需要將功能拆解,形成獨(dú)立的服務(wù)多個(gè)業(yè)務(wù)可能都實(shí)現(xiàn)了相同的功能,需要提取出來(lái)形成公共的服務(wù)為什么需要微服務(wù)私有PaaS在樂(lè)視的實(shí)踐舉個(gè)例子私有PaaS在樂(lè)視的實(shí)踐兩種微服務(wù)形式同步類(lèi)微服務(wù): 基于RPC直接通信異步類(lèi)微服務(wù): 基于MQ輕量級(jí)微服務(wù)框架基于thrift RPC框架改造,支持多語(yǔ)言修改thrift,支持調(diào)用鏈trace服務(wù)注冊(cè)中心目前支持 etcd下一步支持 consul服務(wù)發(fā)現(xiàn)與負(fù)載均衡目前支持Smart client(性能更好)下一步支持Load balancer微服務(wù)架構(gòu)實(shí)現(xiàn)接入層私有PaaS在樂(lè)視的實(shí)踐應(yīng)用層服務(wù)層MQpushapiworkerworkerpushdpushdpushdRPCTCP長(zhǎng)連接示例: PaaS平臺(tái)對(duì)微服務(wù)的支持私有PaaS在樂(lè)視的實(shí)踐實(shí)現(xiàn)機(jī)制:埋點(diǎn) 日志輸出 收集和存儲(chǔ)日志 分析 調(diào)用鏈 展示Trace ID:關(guān)聯(lián)一次請(qǐng)求相關(guān)的日志,全局唯一,在系統(tǒng)間傳遞RPC Span ID:識(shí)別日志埋點(diǎn)順序和嵌套關(guān)系,在系統(tǒng)間 傳遞開(kāi)始時(shí)間調(diào)用類(lèi)型對(duì)端IP參考Google Dapper論文“Dapper, a Large-Scale Distributed Systems Tracing Infrastructure”/pu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論