www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 架構師社區(qū)
[導讀]Tars是基于名字服務使用Tars協(xié)議的高性能RPC開發(fā)框架,同時配套一體化的服務治理平臺,幫助個人或者企業(yè)快速的以微服務的方式構建自己穩(wěn)定可靠的分布式應用。Tars是將騰訊內(nèi)部使用的微服務架構TAF多年的實踐成果總結而成的開源項目。

Tars是基于名字服務使用Tars協(xié)議的高性能RPC開發(fā)框架,同時配套一體化的服務治理平臺,幫助個人或者企業(yè)快速的以微服務的方式構建自己穩(wěn)定可靠的分布式應用。

Tars是將騰訊內(nèi)部使用的微服務架構TAF(Total Application Framework)多年的實踐成果總結而成的開源項目。Tars這個名字來自《星際穿越》電影中機器人Tars, 電影中Tars有著非常友好的交互方式,任何初次接觸它的人都可以輕松的和它進行交流,同時能在外太空、外星等復雜地形上,超預期的高效率的完成托付的所有任務。擁有著類似設計理念的Tars也是一個兼顧易用性、高性能、服務治理的框架,目的是讓開發(fā)更簡單,聚焦業(yè)務邏輯,讓運營更高效,一切盡在掌握。

目前該框架在騰訊內(nèi)部,有100多個業(yè)務、10多萬臺服務器上運行使用。

設計思想

Tars的設計思路是采用微服務的思想對服務進行治理,同時對整個系統(tǒng)的各個模塊進行抽象分層,將各個層次之間相互解耦或者松耦合,如下圖:

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

最底的協(xié)議層,設計思路是將業(yè)務網(wǎng)絡通信的協(xié)議進行統(tǒng)一,以IDL(接口定義語言)的方式,開發(fā)支持多平臺、可擴展、協(xié)議代碼自動生成的統(tǒng)一協(xié)議。在開發(fā)過程中,開發(fā)人員只需要關注通訊的協(xié)議字段的內(nèi)容,不需要關注其實現(xiàn)的細節(jié),大大減輕了開發(fā)服務時需要考慮的協(xié)議是否能跨平臺使用、是否可能需要兼容、擴展等問題。

中間的公共庫、通訊框架、平臺層,設計思路是讓業(yè)務開發(fā)更加聚焦業(yè)務邏輯的本身。因此,從使用者的角度出發(fā),封裝了大量日常開發(fā)過程中經(jīng)常使用的公共庫代碼和遠程過程調(diào)用,讓開發(fā)使用更簡單方便;從框架本身的角度出發(fā),做到高穩(wěn)定性、高可用性、高性能,這樣才能讓業(yè)務服務運營更加放心;從分布式平臺的角度出發(fā),解決服務運營過程中,遇到的容錯、負載均衡、容量管理、就近接入、灰度發(fā)布等問題,讓平臺更加強大。

最上面的運營層,設計思路是讓運維只需要關注日常的服務部署、發(fā)布、配置、監(jiān)控、調(diào)度管理等操作。

整體架構

架構拓撲

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

整體架構的拓撲圖主要分為2個部分:服務節(jié)點與公共框架節(jié)點。

服務節(jié)點

服務節(jié)點可以認為是服務所實際運行的一個具體的操作系統(tǒng)實例,可以是物理主機或者虛擬主機、云主機。隨著服務的種類擴展和規(guī)模擴大,服務節(jié)點可能成千上萬甚至數(shù)以十萬計。每臺服務節(jié)點上均有一個Node服務節(jié)點和N(N>=0)個業(yè)務服務節(jié)點,Node服務節(jié)點會對業(yè)務服務節(jié)點進行統(tǒng)一管理,提供啟停、發(fā)布、監(jiān)控等功能,同時接收業(yè)務服務節(jié)點上報過來的心跳。

公共框架節(jié)點

除了服務節(jié)點以外的服務,其他服務節(jié)點均歸為一類。

公共框架節(jié)點,數(shù)量不定,為了自身的容錯容災,一般也要求在在多個機房的多個服務器上進行部署,具體的節(jié)點數(shù)量,與服務節(jié)點的規(guī)模有關,比如,如果某些服務需要打較多的日志,就需要部署更多的日志服務節(jié)點。

框架節(jié)點細分

  • Web管理系統(tǒng):在Web上可以看到服務運行的各種實時數(shù)據(jù)情況,以及對服務進行發(fā)布、啟停、部署等操作;

  • Registry(路由+管理服務):提供服務節(jié)點的地址查詢、發(fā)布、啟停、管理等操作,以及對服務上報心跳的管理,通過它實現(xiàn)服務的注冊與發(fā)現(xiàn);

  • Patch(發(fā)布管理):提供服務的發(fā)布功能;

  • Config(配置中心):提供服務配置文件的統(tǒng)一管理功能;

  • Log(遠程日志):提供服務打日志到遠程的功能;

  • Stat(調(diào)用統(tǒng)計):統(tǒng)計業(yè)務服務上報的各種調(diào)用信息,比如總流量、平均耗時、超時率等,以便對服務出現(xiàn)異常時進行告警;

  • Property(業(yè)務屬性):統(tǒng)計業(yè)務自定義上報的屬性信息,比如內(nèi)存使用大小、隊列大小、cache命中率等,以便對服務出現(xiàn)異常時進行告警;

  • Notify(異常信息):統(tǒng)計業(yè)務上報的各種異常信息,比如服務狀態(tài)變更信息、訪問db失敗信息等,以便對服務出現(xiàn)異常時進行告警;

原則上要求全部的節(jié)點之間網(wǎng)絡互通,至少每臺機器的node能夠與公共框架節(jié)點之間都是可以連通的。

特性

tars協(xié)議

tars協(xié)議采用接口描述語言(Interface description language,縮寫IDL)來實現(xiàn),它是一種二進制、可擴展、代碼自動生成、支持多平臺的協(xié)議,使得在不同平臺上運行的對象和用不同語言編寫的程序可以用RPC遠程調(diào)用的方式相互通信交流, 主要應用在后臺服務之間的網(wǎng)絡傳輸協(xié)議,以及對象的序列化和反序列化等方面。

協(xié)議支持的類型分兩種,基本類型和復雜類型。

基本類型包括:void、bool、byte、short、int、long、float、double、string、unsigned byte、unsigned short、unsigned int;

復雜類型包括:enum、const、struct、vector、map,以及struct、vector、map的嵌套。

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

調(diào)用方式

通過IDL語言協(xié)議,可以定義服務提供的接口,并自動生成客戶端和服務端的相關通信代碼,服務端只需實現(xiàn)業(yè)務邏輯即可對外提供服務,客戶端通過自動生成的代碼即可調(diào)用服務,調(diào)用方式支持三種模式:

  • 同步調(diào)用:客戶端發(fā)出調(diào)用請求后等待服務返回結果后再繼續(xù)邏輯;

  • 異步調(diào)用:客戶端發(fā)出調(diào)用請求后繼續(xù)其他業(yè)務邏輯,服務端返回結果又由回調(diào)處理類處理結果;

  • 單向調(diào)用:客戶端發(fā)出調(diào)用請求后就結束調(diào)用,服務端不返回調(diào)用結果。

負載均衡

框架通過名字服務來實現(xiàn)服務的注冊與發(fā)現(xiàn),Client通過訪問名字服務獲取到被調(diào)服務的地址信息列表,Client再根據(jù)需要選擇合適的負載均衡方式來調(diào)用服務,

負載均衡支持輪詢、hash、權重等多種方式。

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

容錯保護

容錯保護通過兩種方式實現(xiàn):名字服務排除和Client主動屏蔽。

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

名字服務排除的策略:

業(yè)務服務主動上報心跳給名字服務,使名字服務知道服務部署的節(jié)點存活情況,當服務的某節(jié)點故障時,名字服務不在返回故障節(jié)點的地址給Client,達到排除故障節(jié)點的目標。名字服務排除故障需要通過服務心跳和Client地址列表拉取兩個過程,故障排除時間在1分鐘左右

Client主動屏蔽:

為了更及時的屏蔽故障節(jié)點,Client根據(jù)調(diào)用被調(diào)服務的異常情況來判斷是否有故障來更快進行故障屏蔽。具體策略是,當client調(diào)用某個svr出現(xiàn)調(diào)用連續(xù)超時,或者調(diào)用的超時比率超過一定百分比,client會對此svr進行屏蔽,讓流量分發(fā)到正常的節(jié)點上去。對屏蔽的svr節(jié)點,每隔一定時間進行重連,如果正常,則進行正常的流量分發(fā)。

過載保護

為了防止業(yè)務因為訪問量突增或服務器故障造成系統(tǒng)整體的繁忙,進而導致全部服務的不可用,框架內(nèi)部做相應設計來應對。實現(xiàn)請求隊列,服務調(diào)用通過非阻塞方式實現(xiàn)異步系統(tǒng),從而達到提升系統(tǒng)處理能力的目的。并且對隊列的長度進行監(jiān)控,當超過某個閥值,則拒絕新的請求。對請求設置超時時間,當請求包從隊列里讀取出來是判斷請求是否超時,如果超時則不做處理。

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

消息染色

框架提供了對某服務某接口的特定請求進行染色的能力,染色的消息可以透傳到后面需要訪問的所有服務上,對染色的請求,服務自動把日志上報到特定的染色日志服務器上,使用者只需在染色服務器上即可分析請求訪問的路徑,方便跟蹤定位問題。如下:

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

IDC分組

為了加快服務間的訪問速度,減少跨地區(qū)、跨機房調(diào)用帶來的網(wǎng)絡資源消耗,減少網(wǎng)絡故障帶來的影響,框架提供了跨地區(qū)、跨機房,就近接入的功能。

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

SET分組

為了方便對業(yè)務服務部署管理進行標準化和容量化,框架提供了Set部署能力,set之間沒有調(diào)用關系,互不干擾,故障隔離,提高運維效率和服務可用性。

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

數(shù)據(jù)監(jiān)控

為了更好反映和監(jiān)控小到服務進程、大到業(yè)務的運行質(zhì)量情況,框架支持以下數(shù)據(jù)上報的功能:

  • 提供了服務模塊間調(diào)用信息統(tǒng)計上報的功能,方便用戶查看服務的流量、延時、超時、異常等情況;

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?
  • 提供了用戶自定義屬性數(shù)據(jù)上報的功能,方便用戶查看服務的某些維度或者指標,比如內(nèi)存使用情況、隊列大小、cache命中率等;

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?
  • 提供了服務狀態(tài)變更和異常信息上報的功能,方便用戶查看服務的何時發(fā)布過、重啟過、宕過以及遇到的異常致命錯誤等;

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

集中配置

對業(yè)務配置進行集中管理并且操作web化,使配置修改更容易,通知更及時,配置變更也更安全;對配置變更進行歷史記錄,讓配置可以輕松回退到前一版本。配置拉取服務化,服務只需調(diào)用配置服務的接口即可獲取到配置文件。

為了能靈活管理配置文件,配置文件分為幾個級別:應用配置、Set配置、服務配置和節(jié)點配置。

應用配置為最高一級的配置文件,它是多個服務配置提煉出來的公共配置,服務配置通過引用它來使用其配置內(nèi)容。

Set配置是具體一個Set分組下所有服務的公共配置,在應用配置的基礎上進行補充追加。

服務配置是具體一個服務下所有節(jié)點的公共配置,可以引用應用配置。

節(jié)點配置是一個應用節(jié)點的個性化配置,它和服務配置合并成為具體一個服務節(jié)點的配置。

項目地址

開源地址:https://gitee.com/TarsCloud/Tars

特別推薦一個分享架構+算法的優(yōu)質(zhì)內(nèi)容,還沒關注的小伙伴,可以長按關注一下:

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

長按訂閱更多精彩▼

騰訊推出的這款高性能RPC開發(fā)框架,確定不了解下嗎?

如有收獲,點個在看,誠摯感謝


免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉