日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

腾讯 tars java_腾讯TARS开源团队郑苏波:腾讯微服务开发框架的源码剖析

發(fā)布時(shí)間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 腾讯 tars java_腾讯TARS开源团队郑苏波:腾讯微服务开发框架的源码剖析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

鄭蘇波:大家下午好!我是騰訊微服務(wù)的鄭蘇波。先做一個(gè)框架的介紹,Tars是一個(gè)支持多語(yǔ)言?xún)?nèi)嵌服務(wù)治理功能的框檻,能跟DevOps比較好的協(xié)同開(kāi)發(fā)。這個(gè)框架四大特點(diǎn):

一是對(duì)用戶(hù)透明實(shí)現(xiàn),讓業(yè)務(wù)可以聚焦自己的邏輯,不需要關(guān)心這個(gè)框架提供了哪些能力。

二是支持RPC的調(diào)用方式,使業(yè)務(wù)能快速開(kāi)發(fā)。

三是高性能的實(shí)現(xiàn)。

四是豐富的擴(kuò)展能力,適應(yīng)不同業(yè)務(wù)場(chǎng)景。

下面我們會(huì)以一個(gè)比較簡(jiǎn)單的語(yǔ)言,NodeJS這個(gè)語(yǔ)言在TARS中的應(yīng)用為我們介紹這個(gè)框架。先看一下例子,其中一個(gè)HD的Service,用戶(hù)訪(fǎng)問(wèn)的時(shí)候會(huì)訪(fǎng)問(wèn)一段Hello?Word,代碼完全沒(méi)有修改的情況給我們帶來(lái)什么特性呢?首先是進(jìn)程管理,它是使用NodeJS,負(fù)載均衡。服務(wù)限量重啟,TARS自動(dòng)檢測(cè)異常退出并且自動(dòng)拉起,這是被動(dòng)探測(cè),還支持我主動(dòng)的加速檢測(cè)。看一個(gè)主動(dòng)加速檢測(cè)的例子,下面是一個(gè)過(guò)濾,使用了一段比較垃圾的表達(dá)式的寫(xiě)法,一旦執(zhí)行這個(gè)邏輯的時(shí)候,服務(wù)完全沒(méi)有響應(yīng),用戶(hù)只能手動(dòng)重啟這個(gè)服務(wù)。如果檢測(cè)到這個(gè)服務(wù)呈現(xiàn)這種僵死的狀態(tài)也會(huì)主動(dòng)把服務(wù)的進(jìn)程殺掉再起一個(gè)新的進(jìn)程,這樣保證服務(wù)的最大可用性,也就是我們經(jīng)常說(shuō)的在TARS內(nèi)雖然沒(méi)辦法解決業(yè)務(wù)代碼里面寫(xiě)的Bug,畢竟是業(yè)務(wù)代碼里的邏輯問(wèn)題,但我們會(huì)盡最大的可能保證服務(wù)的可用性,這是它的進(jìn)程管理的一些特性。

再看一下服務(wù)監(jiān)控,分調(diào)用監(jiān)控和特性監(jiān)控。調(diào)用監(jiān)控有四個(gè)指標(biāo):總流量、平均耗時(shí)、超時(shí)耗和異常事。以主被調(diào)服務(wù)名、接口名為維度。HTTP服務(wù)接口名為URL-PATH。

特性監(jiān)控也分四點(diǎn):自動(dòng)上報(bào):內(nèi)存、CPU、Libuv實(shí)性性能。各策略以平均值、最大值、最小值分節(jié)點(diǎn)統(tǒng)計(jì)。

下面這個(gè)圖有一個(gè)明顯的波峰和波谷,如果曲線(xiàn)越平滑代表訪(fǎng)問(wèn)流量越大,反之,這個(gè)地方我們需要優(yōu)化關(guān)注它的基礎(chǔ)服務(wù)質(zhì)量。最下面這個(gè)是不存在波峰和波谷,也沒(méi)有毛刺,這種東西是定時(shí)拉取的東西,需要關(guān)心持續(xù)的資源使用和客戶(hù)的策略。

可以通過(guò)剛才的服務(wù)監(jiān)控里面的總流量,就可以完全不用知道服務(wù)的名字,也不用問(wèn)別人你這個(gè)服務(wù)的特性是什么,可以通過(guò)曲線(xiàn)明確知道這個(gè)服務(wù)的類(lèi)型,服務(wù)優(yōu)化的方向。

再看一下日志輸出,會(huì)附加一些信息,比如日期、PID,最主要會(huì)自動(dòng)添加文件名與符號(hào),方便你去定位問(wèn)題。上面講的是完全沒(méi)有修改的TARS層面的部署會(huì)有的這些特性。

可以再修改一下代碼,能支持下面這些特性。比如可以支持大小滾動(dòng)日志(文件總數(shù)、單文件大小),按時(shí)間滾動(dòng)日志(間隔、文件名),用來(lái)做一些數(shù)據(jù)的統(tǒng)計(jì)。

服務(wù)配置:允許自定義文件名與內(nèi)容,并可引用其它服務(wù)的文件,支持配置回滾和在線(xiàn)PUSH配置??蓪㈧o態(tài)頁(yè)面以配置進(jìn)行存儲(chǔ),以實(shí)現(xiàn)前后分離。

管理命令,可以設(shè)計(jì)日志等級(jí),因?yàn)檩敵鋈罩?#xff0c;可能在線(xiàn)上環(huán)境中,日志的輸出是相當(dāng)耗性能的一件事,這種情況下一般的日志級(jí)會(huì)受到一個(gè)最高的解決,只有異常的時(shí)候會(huì)打印出日志,但有一個(gè)額外的場(chǎng)景你需要去調(diào)試線(xiàn)上服務(wù),看它到底在運(yùn)行、支持什么樣的代碼,這個(gè)時(shí)候可以發(fā)出管理命令,從日志級(jí)別調(diào)整,這個(gè)時(shí)候可以看到當(dāng)前正在運(yùn)行哪些內(nèi)容。當(dāng)你調(diào)試完成之后可以繼續(xù)設(shè)置日至為原來(lái)的,這個(gè)時(shí)候完全不需要重啟。

第三點(diǎn),可以自定義發(fā)送一些命令,并通過(guò)業(yè)務(wù)代碼接收。這樣比較方便去定位、查找一些問(wèn)題。

剛才講的是TARS,為大家在代碼上提供的一些比較常用的特性。下面再和大家介紹一個(gè)TARS為大家提供的一個(gè)大型的異構(gòu)系統(tǒng)解決方案。首先它定義了一套編解碼。

關(guān)于編解碼的大型的使用,光有編解碼還不夠,還需要有RPC調(diào)用的實(shí)施,支持兩種模式,一種是客戶(hù)端模式,二是服務(wù)端模式,可以調(diào)用到就近的節(jié)點(diǎn)。像我們最早說(shuō)的還支持多種解碼方式,并且也可以擴(kuò)展一些其他的編解碼方式,比如PB等。

這里TARS不僅是支持服務(wù)器的調(diào)用,還支持調(diào)用鏈的染色。標(biāo)識(shí)出某一個(gè)特定需求的過(guò)程,染色狀態(tài)會(huì)一直被傳輸下去,我們也叫染色日志。可以用染色日志定位一些特定的位置,也可以定一些特定的邏輯。比如用戶(hù)ID是QQ號(hào)或者微信,到時(shí)候?qū)D進(jìn)行染色,染色以后,后端的服務(wù)都會(huì)受到這個(gè)服務(wù)狀態(tài),并且把這次調(diào)用的處理過(guò)程打印出來(lái),你可以非常方便的進(jìn)行一些服務(wù)狀態(tài)的調(diào)查。除了打印日志也可以執(zhí)行特定的邏輯,比如對(duì)這個(gè)用戶(hù)他是在白、灰、黑名單進(jìn)行一些判斷,甚至有一些調(diào)用關(guān)系。

接下來(lái),給大家播放一個(gè)TARS的介紹視頻。

(視頻)

剛才這個(gè)視頻也整體介紹了一下TARS的效果,大家還有什么問(wèn)題嗎?

提問(wèn):我想問(wèn)一個(gè)不太專(zhuān)業(yè)的問(wèn)題,這個(gè)TARS框架和騰訊云官網(wǎng)上提供的微服務(wù)框架TSF是什么關(guān)系?

鄭蘇波:其實(shí)我們也在騰訊云上有一個(gè)公有云項(xiàng)目,TSF跟我們目標(biāo)是一致的,但我們能提供給大家的服務(wù)更全面一些,TSF可能只有一個(gè)微服務(wù)的概念,但我們除了微服務(wù)以外還有一些服務(wù)的監(jiān)控、服務(wù)的配置,還有服務(wù)的日志的管理。

單志豪:我補(bǔ)充一下,主要區(qū)別是TARS是支持Java,是一個(gè)開(kāi)源的項(xiàng)目,可以去下載,自己去用。后面也會(huì)提供公有云的方案,跟TSF是并行的項(xiàng)目。???單志豪:我補(bǔ)充一下,主要區(qū)別是TARS是支持Java,是一個(gè)開(kāi)源的項(xiàng)目,可以去下載,自己去用。后面也會(huì)提供公有云的方案,跟TSF是并行的項(xiàng)目。

總結(jié)

以上是生活随笔為你收集整理的腾讯 tars java_腾讯TARS开源团队郑苏波:腾讯微服务开发框架的源码剖析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。