騰訊微服務(wù)架構(gòu)的發(fā)展趨勢(shì)_第1頁(yè)
騰訊微服務(wù)架構(gòu)的發(fā)展趨勢(shì)_第2頁(yè)
騰訊微服務(wù)架構(gòu)的發(fā)展趨勢(shì)_第3頁(yè)
騰訊微服務(wù)架構(gòu)的發(fā)展趨勢(shì)_第4頁(yè)
騰訊微服務(wù)架構(gòu)的發(fā)展趨勢(shì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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)介

騰訊微服務(wù)架構(gòu)的發(fā)展趨勢(shì)技術(shù)創(chuàng)新,變革未來(lái)智慧IT海量服務(wù)與用戶催生微服務(wù)框架十年經(jīng)驗(yàn)沉淀促技術(shù)產(chǎn)生價(jià)值未來(lái):微服務(wù)開發(fā)者生態(tài)共建移動(dòng)互聯(lián)網(wǎng)浪潮2008年6月底,中國(guó)網(wǎng)民數(shù)量達(dá)到2.53億,中國(guó)互聯(lián)網(wǎng)網(wǎng)民規(guī)模首次超過(guò)美國(guó),躍居世界第一位。截至2008年底,使用手機(jī)上網(wǎng)的網(wǎng)民達(dá)到1.176億人,較2007年增長(zhǎng)一倍多。接下來(lái)的幾年,迎來(lái)了一波移動(dòng)互聯(lián)網(wǎng)浪潮,手機(jī)上網(wǎng)成為網(wǎng)絡(luò)接入的一個(gè)重要發(fā)展方式。2007-2008手機(jī)上網(wǎng)網(wǎng)民規(guī)模對(duì)比2000-2008年中國(guó)網(wǎng)民規(guī)模與增長(zhǎng)率用戶產(chǎn)品規(guī)模急劇擴(kuò)張騰訊在2006-2007年接連推出了多個(gè)手機(jī)應(yīng)用服務(wù):手機(jī)QQ、超級(jí)QQ、手機(jī)騰訊網(wǎng)、手機(jī)QQ游戲大廳、手機(jī)QQ瀏覽器、手機(jī)QQ空間、數(shù)十款WAP游戲應(yīng)用,隨著用戶規(guī)模和產(chǎn)品規(guī)模的急劇膨脹,各種各樣的困難接踵而至。業(yè)務(wù)邏輯業(yè)務(wù)邏輯集中,耦合性強(qiáng),開發(fā)維護(hù)成本高,服務(wù)模型多樣化,業(yè)務(wù)協(xié)議不統(tǒng)一代碼質(zhì)量代碼重復(fù)率高,性能、高可用性、可擴(kuò)展性等方面難以適應(yīng)業(yè)務(wù)海量訪問(wèn)發(fā)展趨勢(shì)運(yùn)營(yíng)管理運(yùn)維工具各異,部署管理混亂,規(guī)范性差,管理能力薄弱監(jiān)控體系運(yùn)營(yíng)數(shù)據(jù)缺失,監(jiān)控維度不立體,故障時(shí)分析和查找問(wèn)題困難業(yè)務(wù)的多樣性、復(fù)雜度、爆發(fā)性增長(zhǎng)的規(guī)模騰訊微服務(wù)框架的產(chǎn)生面對(duì)業(yè)務(wù)海量訪問(wèn),騰訊開始采用微服務(wù)架構(gòu)的思想,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)通用的統(tǒng)一應(yīng)用框架平臺(tái),對(duì)業(yè)務(wù)提供涉及到開發(fā)、運(yùn)維以及測(cè)試的一整套解決方案,讓開發(fā)更簡(jiǎn)單,運(yùn)維更高效。海量服務(wù)之道過(guò)載保護(hù)大系統(tǒng)小做按set部署TARS產(chǎn)生TARS彈性調(diào)度化TARS優(yōu)化重構(gòu)TARS發(fā)展第一階段第一個(gè)階段,框架產(chǎn)生的階段。目的是做以微服務(wù)為基礎(chǔ)的分布式架構(gòu)。146532IDL(接口定義語(yǔ)言):統(tǒng)一不同語(yǔ)言的訪問(wèn)協(xié)議,二進(jìn)制、可擴(kuò)展、代碼自動(dòng)生成、支持多平臺(tái)。RPC:支持同步、異步、單向調(diào)用。高性能:框架提供10w/s以上的吞吐量。容錯(cuò):任何一臺(tái)服務(wù)down掉不影響業(yè)務(wù)訪問(wèn)。伸縮性:服務(wù)可以方便的平行擴(kuò)展。管理:在web上就能對(duì)系統(tǒng)的服務(wù)進(jìn)行部署、發(fā)布、上線、擴(kuò)容、縮容等管理操作。微1服0務(wù)0為%基礎(chǔ)的分布式架構(gòu)TARS發(fā)展第二階段第二個(gè)階段,框架優(yōu)化重構(gòu)的階段。目的是解決框架性能和開發(fā)易用性的問(wèn)題。21性能:將僅支持單線程的收發(fā)包模式,改造成多線程收發(fā)包模式將框架內(nèi)影響線程并發(fā)運(yùn)行的粗粒度鎖,改造成鎖細(xì)粒度化或者無(wú)鎖化數(shù)據(jù)交互盡量零拷貝開發(fā)易用性:1.

對(duì)原來(lái)的同步調(diào)用方式,通過(guò)協(xié)程技術(shù),不改變?cè)瓉?lái)的同步編碼方式,對(duì)業(yè)務(wù)透明,只需通過(guò)配置開關(guān),可將其實(shí)際執(zhí)行變同步為異步2.對(duì)于原來(lái)的異步調(diào)用方式,通過(guò)future/promise技術(shù),讓編碼方式像同步一樣解1決0性0能%和開發(fā)易用性TARS發(fā)展第三階段第三個(gè)階段,框架彈性調(diào)度Docker化的階段。目的是達(dá)到服務(wù)混合部署與自動(dòng)化運(yùn)營(yíng)的效果。21服務(wù)混合部署:使用Docker方案將每個(gè)進(jìn)程的運(yùn)行環(huán)境和資源消耗隔離起來(lái)。服務(wù)部署、打包、發(fā)布等標(biāo)準(zhǔn)化.提高了部署效率,保證了交付質(zhì)量,提升了資源利用率彈性調(diào)度:服務(wù)進(jìn)程不再對(duì)機(jī)器有特殊要求,使得進(jìn)程可以被部署到所有類型的機(jī)器上,給彈性調(diào)度巨大的操作空間。一個(gè)服務(wù)下的所有容器可以被規(guī)整為相同的規(guī)格,使得服務(wù)的流量調(diào)度變得更加簡(jiǎn)單,簡(jiǎn)化了彈性調(diào)度的操作。服1務(wù)0混0合%部署與自動(dòng)化運(yùn)營(yíng)海量服務(wù)與用戶催生微服務(wù)框架十年經(jīng)驗(yàn)沉淀促技術(shù)產(chǎn)生價(jià)值未來(lái):微服務(wù)開發(fā)者生態(tài)共建微服務(wù)成為趨勢(shì)0%20%40%60%80%100%制造行業(yè)金融行業(yè) 互聯(lián)網(wǎng)行業(yè)14%14%025%30%21%31%8%23%19%65%55%92%52%51%半年一次 3-6個(gè)月更新一次交通物流行業(yè) 零售行業(yè)每個(gè)月都要跟新、升級(jí)0% 10% 20% 30% 40% 50% 60%不考慮,全部基于weblogic、WEBSPHERE等傳統(tǒng)構(gòu)架正考慮往云原生(Cloud

Native)架構(gòu)轉(zhuǎn)已經(jīng)部分引入Spring

Cloud

微服務(wù)開發(fā)框架采用其他微服務(wù)開發(fā)框架51%

考慮轉(zhuǎn)型,15%已經(jīng)實(shí)施63%

企業(yè)平均每月發(fā)布一次業(yè)務(wù)場(chǎng)景、用戶習(xí)慣和行為在迅速變化,傳統(tǒng)行業(yè)線上業(yè)務(wù)出現(xiàn)急速增長(zhǎng)企業(yè)轉(zhuǎn)型微服務(wù)面臨的挑戰(zhàn)0%10%20%30%40%50%60%缺少具備相關(guān)經(jīng)驗(yàn)專家不同部門目標(biāo)不一致,可能引起組織沖突缺乏專業(yè)人士和工具行業(yè)的限制和監(jiān)督感覺技術(shù)不成熟,不想做小白鼠業(yè)務(wù)上沒(méi)需求上手難,對(duì)微服務(wù)不理解對(duì)微服務(wù)帶來(lái)的復(fù)雜度有顧慮服務(wù)發(fā)現(xiàn)正式發(fā)布灰度發(fā)布代碼管理分布式事務(wù)分布式數(shù)據(jù)訪問(wèn)熔斷日志聚合Metrics監(jiān)控調(diào)用鏈……

配置管理過(guò)載保護(hù)消息隊(duì)列RPCRestful代碼編譯自動(dòng)測(cè)試完整的微服務(wù)體系是龐大復(fù)雜的借助合適的微服務(wù)框架去逐步構(gòu)建整個(gè)微服務(wù)體系是一條快捷途徑服務(wù)治理配套系統(tǒng)API

Gateway微服務(wù)自身復(fù)雜度以及人才和經(jīng)驗(yàn)的匱乏成為企業(yè)微服務(wù)化最大的挑戰(zhàn)DevOps微服務(wù)框架現(xiàn)狀專注于通信框架,RPC或消息隊(duì)列模式,部分框架支持多語(yǔ)言開發(fā)無(wú)服務(wù)治理類單語(yǔ)言帶服務(wù)治理類

在通信框架的基礎(chǔ)上支持服務(wù)治理能力,單一編程語(yǔ)言實(shí)現(xiàn),JAVA語(yǔ)言為主流支持服務(wù)治理,通過(guò)SideCar模式解決多語(yǔ)言問(wèn)題,目前處于發(fā)展成熟期ServiceMesh在通信框架的基礎(chǔ)上支持服務(wù)治理能力,多種編程語(yǔ)言實(shí)現(xiàn)多語(yǔ)言帶服務(wù)治理類騰訊自研微服務(wù)框架TARS

是騰訊開源、基于

TARS

協(xié)議的高性能

RPC

框架,為開發(fā)和運(yùn)維提供了一體化的微服務(wù)治理方案。敏捷開發(fā)快速構(gòu)建自動(dòng)代碼生成持續(xù)集成高擴(kuò)展性高效運(yùn)營(yíng)無(wú)損變更安全鑒權(quán)立體化監(jiān)控可視化管理多語(yǔ)言C++JAVANodeJSPHP/Python高可用服務(wù)發(fā)現(xiàn)容災(zāi)容錯(cuò)智能調(diào)度柔性熔斷基礎(chǔ)設(shè)施(物理機(jī)、虛擬機(jī)、容器)Devops代碼管理代碼編譯自動(dòng)化測(cè)試灰度發(fā)布持續(xù)部署TarsTUPSSLPBHttp1/2自定義協(xié)議同步異步單向RPC協(xié)議開發(fā)框架服務(wù)治理服務(wù)注冊(cè)/發(fā)現(xiàn)負(fù)載均衡熔斷服務(wù)配置Metric監(jiān)控日志聚合自定義監(jiān)控分布式跟蹤自動(dòng)區(qū)域感知流量管理過(guò)載保護(hù)Set模型C++JAVANodejsPHPGO語(yǔ)言O(shè)SSTARS開源社區(qū)及應(yīng)用企業(yè)TARS項(xiàng)目于2017年4月開源,(G/TarsCloud)當(dāng)前Star數(shù)6700+,F(xiàn)ork數(shù)1500+。TARS團(tuán)隊(duì)與各種類型的企業(yè)進(jìn)行了技術(shù)交流與合作,與Linux基金會(huì)深入?yún)f(xié)作,持續(xù)助力中國(guó)開源社區(qū)的創(chuàng)新發(fā)展。微服務(wù)架構(gòu)為什么要支持多語(yǔ)言?PHP:PHP是靈活的泛型腳本語(yǔ)言,考慮到PHP在WEB后臺(tái)領(lǐng)域的使用非常的廣泛,騰訊與閱文進(jìn)行深度技術(shù)合作,

2017年11月2日,閱文集團(tuán)對(duì)TARS在PHP語(yǔ)言層面進(jìn)行了能力的補(bǔ)全,令TARS如虎添翼。同時(shí)通過(guò)引入PHP業(yè)界優(yōu)秀的SWOOLE框架,再結(jié)合SWOOLE2.0的協(xié)程能力,讓TARS-PHP插上協(xié)程的翅膀。Node.JS:2017年9月4日,TARS增加對(duì)NODE.JS語(yǔ)言支持。2018年8月14日,TARS.js2.0正式發(fā)布。基于

Tars體系研發(fā)出Tars.js

以便用戶在不改變異構(gòu)系統(tǒng)整體架構(gòu)的情況下快速搭建及遷移

Node.js

服務(wù),并可非常方便的將原來(lái)的單一服務(wù)拆分為多個(gè)邏輯子服務(wù),并在騰訊內(nèi)支撐起了上百億的流量。Go:Go語(yǔ)言的協(xié)程并發(fā)機(jī)制使它非常適用于大規(guī)模高并發(fā)后端服務(wù)器程序開發(fā),同時(shí)隨著容器化技術(shù)的飛速發(fā)展,諸如

Docker、Kubernetes與

Etcd

等項(xiàng)目興起,使得

Go

語(yǔ)言越來(lái)越流行,并成為云原生的首選語(yǔ)言。2018年9月15日,TARS-GO正式發(fā)布。TARS-GO除了對(duì)于功能的開發(fā)和完善,還針對(duì)性能進(jìn)行了多輪優(yōu)化。優(yōu)化后TARS-GO在小包的并發(fā)表現(xiàn)上提升了5倍,整體接近了C++的性能。微服務(wù)架構(gòu)為什么要支持多協(xié)議?2017年11月16日

騰訊與科大訊飛進(jìn)行深度技術(shù)合作,將ProtoBuf與TARS自身的編解碼協(xié)議進(jìn)行集成,并將TARS-PB正式對(duì)外開源。已經(jīng)使用PB作為內(nèi)部數(shù)據(jù)交換協(xié)議的用戶可以更方便地對(duì)TARS進(jìn)行集成微服務(wù)架構(gòu)為什么要建立生態(tài)?2018年5月14日,TARS團(tuán)隊(duì)通過(guò)插件實(shí)現(xiàn)了TARS對(duì)Eureka服務(wù)發(fā)現(xiàn)的支持,提供了Spring

bootstarter包和相關(guān)的注解,能夠通過(guò)符合SpringCloud開發(fā)者習(xí)慣的開發(fā)方式快速開發(fā)服務(wù)。通過(guò)對(duì)服務(wù)發(fā)現(xiàn)和開發(fā)方式對(duì)Spring

Cloud集成能夠讓開發(fā)者以較小的代價(jià)快速的在整個(gè)SpringCloud的環(huán)境中快速引入TARS的RPC能力。為什么需要制定微服務(wù)標(biāo)準(zhǔn)?2018年3月21-22日“云計(jì)算開源產(chǎn)業(yè)大會(huì)”上,中國(guó)信息通信研究院和騰訊就TARS開源項(xiàng)目達(dá)成合作,合作內(nèi)容將圍繞開展標(biāo)準(zhǔn)制定、推進(jìn)微服務(wù)架構(gòu)的行業(yè)化應(yīng)用、以及開源社區(qū)和開源生態(tài)工作展開。2018年8月14日,在北京國(guó)際會(huì)議中心召開的“2018可信云大會(huì)”上,由中國(guó)信通院發(fā)起,騰訊深度參與制定的行業(yè)首個(gè)微服務(wù)平臺(tái)標(biāo)準(zhǔn)正式發(fā)布。TARS與Linux基金會(huì)2018年6月25日,Linux基金會(huì),集結(jié)世界頂級(jí)開發(fā)者的非營(yíng)利開源組織,宣布騰訊正式成為L(zhǎng)inux基金會(huì)白金會(huì)員。在LC3大會(huì)上,騰訊宣布將其兩大自研開源項(xiàng)目——高性能RPC開發(fā)框架TARS,及其輕量化名字服務(wù)方案TSeer貢獻(xiàn)給Linux基金會(huì)。海量服務(wù)與用戶催生微服務(wù)框架十年經(jīng)驗(yàn)沉淀促技術(shù)產(chǎn)生價(jià)值未來(lái):微服務(wù)開發(fā)者生態(tài)共建與社區(qū)融合,建立開源生態(tài)與社區(qū)融合,通過(guò)社區(qū)來(lái)提升自己,并反哺社區(qū),給用戶更靈活的選擇。構(gòu)建TARS的微服務(wù)體系開源不同微服務(wù)周邊項(xiàng)目,構(gòu)建微服務(wù)生態(tài)體系,讓用戶更方便的打造其微服務(wù)架構(gòu)。TARS

是騰訊開源、基于

TARS協(xié)議的高性能

RPC

框架,為開發(fā)和運(yùn)維提供了一體化的微服務(wù)治理方案。于2017年4月開源。TCach

溫馨提示

  • 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)論