版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
騰訊微服務架構的發(fā)展趨勢技術創(chuàng)新,變革未來智慧IT海量服務與用戶催生微服務框架十年經驗沉淀促技術產生價值未來:微服務開發(fā)者生態(tài)共建移動互聯(lián)網浪潮2008年6月底,中國網民數(shù)量達到2.53億,中國互聯(lián)網網民規(guī)模首次超過美國,躍居世界第一位。截至2008年底,使用手機上網的網民達到1.176億人,較2007年增長一倍多。接下來的幾年,迎來了一波移動互聯(lián)網浪潮,手機上網成為網絡接入的一個重要發(fā)展方式。2007-2008手機上網網民規(guī)模對比2000-2008年中國網民規(guī)模與增長率用戶產品規(guī)模急劇擴張騰訊在2006-2007年接連推出了多個手機應用服務:手機QQ、超級QQ、手機騰訊網、手機QQ游戲大廳、手機QQ瀏覽器、手機QQ空間、數(shù)十款WAP游戲應用,隨著用戶規(guī)模和產品規(guī)模的急劇膨脹,各種各樣的困難接踵而至。業(yè)務邏輯業(yè)務邏輯集中,耦合性強,開發(fā)維護成本高,服務模型多樣化,業(yè)務協(xié)議不統(tǒng)一代碼質量代碼重復率高,性能、高可用性、可擴展性等方面難以適應業(yè)務海量訪問發(fā)展趨勢運營管理運維工具各異,部署管理混亂,規(guī)范性差,管理能力薄弱監(jiān)控體系運營數(shù)據(jù)缺失,監(jiān)控維度不立體,故障時分析和查找問題困難業(yè)務的多樣性、復雜度、爆發(fā)性增長的規(guī)模騰訊微服務框架的產生面對業(yè)務海量訪問,騰訊開始采用微服務架構的思想,設計和實現(xiàn)一個通用的統(tǒng)一應用框架平臺,對業(yè)務提供涉及到開發(fā)、運維以及測試的一整套解決方案,讓開發(fā)更簡單,運維更高效。海量服務之道過載保護大系統(tǒng)小做按set部署TARS產生TARS彈性調度化TARS優(yōu)化重構TARS發(fā)展第一階段第一個階段,框架產生的階段。目的是做以微服務為基礎的分布式架構。146532IDL(接口定義語言):統(tǒng)一不同語言的訪問協(xié)議,二進制、可擴展、代碼自動生成、支持多平臺。RPC:支持同步、異步、單向調用。高性能:框架提供10w/s以上的吞吐量。容錯:任何一臺服務down掉不影響業(yè)務訪問。伸縮性:服務可以方便的平行擴展。管理:在web上就能對系統(tǒng)的服務進行部署、發(fā)布、上線、擴容、縮容等管理操作。微1服0務0為%基礎的分布式架構TARS發(fā)展第二階段第二個階段,框架優(yōu)化重構的階段。目的是解決框架性能和開發(fā)易用性的問題。21性能:將僅支持單線程的收發(fā)包模式,改造成多線程收發(fā)包模式將框架內影響線程并發(fā)運行的粗粒度鎖,改造成鎖細粒度化或者無鎖化數(shù)據(jù)交互盡量零拷貝開發(fā)易用性:1.
對原來的同步調用方式,通過協(xié)程技術,不改變原來的同步編碼方式,對業(yè)務透明,只需通過配置開關,可將其實際執(zhí)行變同步為異步2.對于原來的異步調用方式,通過future/promise技術,讓編碼方式像同步一樣解1決0性0能%和開發(fā)易用性TARS發(fā)展第三階段第三個階段,框架彈性調度Docker化的階段。目的是達到服務混合部署與自動化運營的效果。21服務混合部署:使用Docker方案將每個進程的運行環(huán)境和資源消耗隔離起來。服務部署、打包、發(fā)布等標準化.提高了部署效率,保證了交付質量,提升了資源利用率彈性調度:服務進程不再對機器有特殊要求,使得進程可以被部署到所有類型的機器上,給彈性調度巨大的操作空間。一個服務下的所有容器可以被規(guī)整為相同的規(guī)格,使得服務的流量調度變得更加簡單,簡化了彈性調度的操作。服1務0混0合%部署與自動化運營海量服務與用戶催生微服務框架十年經驗沉淀促技術產生價值未來:微服務開發(fā)者生態(tài)共建微服務成為趨勢0%20%40%60%80%100%制造行業(yè)金融行業(yè) 互聯(lián)網行業(yè)14%14%025%30%21%31%8%23%19%65%55%92%52%51%半年一次 3-6個月更新一次交通物流行業(yè) 零售行業(yè)每個月都要跟新、升級0% 10% 20% 30% 40% 50% 60%不考慮,全部基于weblogic、WEBSPHERE等傳統(tǒng)構架正考慮往云原生(Cloud
Native)架構轉已經部分引入Spring
Cloud
微服務開發(fā)框架采用其他微服務開發(fā)框架51%
考慮轉型,15%已經實施63%
企業(yè)平均每月發(fā)布一次業(yè)務場景、用戶習慣和行為在迅速變化,傳統(tǒng)行業(yè)線上業(yè)務出現(xiàn)急速增長企業(yè)轉型微服務面臨的挑戰(zhàn)0%10%20%30%40%50%60%缺少具備相關經驗專家不同部門目標不一致,可能引起組織沖突缺乏專業(yè)人士和工具行業(yè)的限制和監(jiān)督感覺技術不成熟,不想做小白鼠業(yè)務上沒需求上手難,對微服務不理解對微服務帶來的復雜度有顧慮服務發(fā)現(xiàn)正式發(fā)布灰度發(fā)布代碼管理分布式事務分布式數(shù)據(jù)訪問熔斷日志聚合Metrics監(jiān)控調用鏈……
配置管理過載保護消息隊列RPCRestful代碼編譯自動測試完整的微服務體系是龐大復雜的借助合適的微服務框架去逐步構建整個微服務體系是一條快捷途徑服務治理配套系統(tǒng)API
Gateway微服務自身復雜度以及人才和經驗的匱乏成為企業(yè)微服務化最大的挑戰(zhàn)DevOps微服務框架現(xiàn)狀專注于通信框架,RPC或消息隊列模式,部分框架支持多語言開發(fā)無服務治理類單語言帶服務治理類
在通信框架的基礎上支持服務治理能力,單一編程語言實現(xiàn),JAVA語言為主流支持服務治理,通過SideCar模式解決多語言問題,目前處于發(fā)展成熟期ServiceMesh在通信框架的基礎上支持服務治理能力,多種編程語言實現(xiàn)多語言帶服務治理類騰訊自研微服務框架TARS
是騰訊開源、基于
TARS
協(xié)議的高性能
RPC
框架,為開發(fā)和運維提供了一體化的微服務治理方案。敏捷開發(fā)快速構建自動代碼生成持續(xù)集成高擴展性高效運營無損變更安全鑒權立體化監(jiān)控可視化管理多語言C++JAVANodeJSPHP/Python高可用服務發(fā)現(xiàn)容災容錯智能調度柔性熔斷基礎設施(物理機、虛擬機、容器)Devops代碼管理代碼編譯自動化測試灰度發(fā)布持續(xù)部署TarsTUPSSLPBHttp1/2自定義協(xié)議同步異步單向RPC協(xié)議開發(fā)框架服務治理服務注冊/發(fā)現(xiàn)負載均衡熔斷服務配置Metric監(jiān)控日志聚合自定義監(jiān)控分布式跟蹤自動區(qū)域感知流量管理過載保護Set模型C++JAVANodejsPHPGO語言OSSTARS開源社區(qū)及應用企業(yè)TARS項目于2017年4月開源,(G/TarsCloud)當前Star數(shù)6700+,F(xiàn)ork數(shù)1500+。TARS團隊與各種類型的企業(yè)進行了技術交流與合作,與Linux基金會深入?yún)f(xié)作,持續(xù)助力中國開源社區(qū)的創(chuàng)新發(fā)展。微服務架構為什么要支持多語言?PHP:PHP是靈活的泛型腳本語言,考慮到PHP在WEB后臺領域的使用非常的廣泛,騰訊與閱文進行深度技術合作,
2017年11月2日,閱文集團對TARS在PHP語言層面進行了能力的補全,令TARS如虎添翼。同時通過引入PHP業(yè)界優(yōu)秀的SWOOLE框架,再結合SWOOLE2.0的協(xié)程能力,讓TARS-PHP插上協(xié)程的翅膀。Node.JS:2017年9月4日,TARS增加對NODE.JS語言支持。2018年8月14日,TARS.js2.0正式發(fā)布?;?/p>
Tars體系研發(fā)出Tars.js
以便用戶在不改變異構系統(tǒng)整體架構的情況下快速搭建及遷移
Node.js
服務,并可非常方便的將原來的單一服務拆分為多個邏輯子服務,并在騰訊內支撐起了上百億的流量。Go:Go語言的協(xié)程并發(fā)機制使它非常適用于大規(guī)模高并發(fā)后端服務器程序開發(fā),同時隨著容器化技術的飛速發(fā)展,諸如
Docker、Kubernetes與
Etcd
等項目興起,使得
Go
語言越來越流行,并成為云原生的首選語言。2018年9月15日,TARS-GO正式發(fā)布。TARS-GO除了對于功能的開發(fā)和完善,還針對性能進行了多輪優(yōu)化。優(yōu)化后TARS-GO在小包的并發(fā)表現(xiàn)上提升了5倍,整體接近了C++的性能。微服務架構為什么要支持多協(xié)議?2017年11月16日
騰訊與科大訊飛進行深度技術合作,將ProtoBuf與TARS自身的編解碼協(xié)議進行集成,并將TARS-PB正式對外開源。已經使用PB作為內部數(shù)據(jù)交換協(xié)議的用戶可以更方便地對TARS進行集成微服務架構為什么要建立生態(tài)?2018年5月14日,TARS團隊通過插件實現(xiàn)了TARS對Eureka服務發(fā)現(xiàn)的支持,提供了Spring
bootstarter包和相關的注解,能夠通過符合SpringCloud開發(fā)者習慣的開發(fā)方式快速開發(fā)服務。通過對服務發(fā)現(xiàn)和開發(fā)方式對Spring
Cloud集成能夠讓開發(fā)者以較小的代價快速的在整個SpringCloud的環(huán)境中快速引入TARS的RPC能力。為什么需要制定微服務標準?2018年3月21-22日“云計算開源產業(yè)大會”上,中國信息通信研究院和騰訊就TARS開源項目達成合作,合作內容將圍繞開展標準制定、推進微服務架構的行業(yè)化應用、以及開源社區(qū)和開源生態(tài)工作展開。2018年8月14日,在北京國際會議中心召開的“2018可信云大會”上,由中國信通院發(fā)起,騰訊深度參與制定的行業(yè)首個微服務平臺標準正式發(fā)布。TARS與Linux基金會2018年6月25日,Linux基金會,集結世界頂級開發(fā)者的非營利開源組織,宣布騰訊正式成為Linux基金會白金會員。在LC3大會上,騰訊宣布將其兩大自研開源項目——高性能RPC開發(fā)框架TARS,及其輕量化名字服務方案TSeer貢獻給Linux基金會。海量服務與用戶催生微服務框架十年經驗沉淀促技術產生價值未來:微服務開發(fā)者生態(tài)共建與社區(qū)融合,建立開源生態(tài)與社區(qū)融合,通過社區(qū)來提升自己,并反哺社區(qū),給用戶更靈活的選擇。構建TARS的微服務體系開源不同微服務周邊項目,構建微服務生態(tài)體系,讓用戶更方便的打造其微服務架構。TARS
是騰訊開源、基于
TARS協(xié)議的高性能
RPC
框架,為開發(fā)和運維提供了一體化的微服務治理方案。于2017年4月開源。TCach
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度互聯(lián)網廣告行業(yè)勞動合同范本及廣告內容審核責任協(xié)議3篇
- 脫丙烷課程設計
- 船舶原理課程設計散貨船
- 美術生創(chuàng)新思維課程設計
- 線上花束插花課程設計
- 茶園生產 課程設計
- 線上課程設計公司
- 《精神分析技巧》課件
- 2024年美術教案設計(7篇)
- 穿銷單元課程設計
- 耐火材料行業(yè)競爭格局分析(如市場份額、競爭優(yōu)劣勢等)
- 僅銷售預包裝食品經營者備案信息采集表
- 信息化工程建設項目可行性研究報告編制要求
- 床旁教學方法
- 2024湖南株洲攸縣城關國家糧食儲備庫員工招聘2人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 塵埃粒子95%置信上限UCL計算公式
- 2023年某公司綜合部業(yè)務流程綱要
- Python試題庫(附參考答案)
- DB34∕T 4638-2023 創(chuàng)新型智慧園區(qū)建設與管理規(guī)范
- 巴渝文化探究課程設計
- 無人機配送行業(yè)市場機遇分析
評論
0/150
提交評論