go語言tars框架 go語言后端框架2021

開源推薦-C++開發(fā)的微服務(wù)框架Tars

Tars致力于建設(shè)微服務(wù)技術(shù)生態(tài),在底層基礎(chǔ)設(shè)施、服務(wù)框架、上層應(yīng)用以及DevOps等方面,都做了較為深入的研發(fā)。

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的甘孜州網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

2020年3月10日,Linux基金會(huì)正式宣布旗下的TARS開源項(xiàng)目成立TARS子基金會(huì)。這是一個(gè) 專注于微服務(wù)領(lǐng)域 的開源基金會(huì),致力于幫助企業(yè)擁抱微服務(wù)體系架構(gòu),解決在使用微服務(wù)方面可能出現(xiàn)的問題。這是首個(gè) 起源于中國開源項(xiàng)目 的國際開源基金會(huì),也是Linux基金會(huì)下 唯一聚焦微服務(wù)技術(shù)生態(tài) 的子基金會(huì)。

Tars基金會(huì)里目前收錄了9個(gè)項(xiàng)目,分為5部分:工具集(Tars Lab)、服務(wù)治理(Service Governance)、微服務(wù)開發(fā)框架(Development Framwork)、存儲(chǔ)(DCache)和基礎(chǔ)設(shè)施(Infrustructure)。

1、Tars Lab

Tars Lab項(xiàng)目提供了壓力測(cè)試TarsJMeter,基準(zhǔn)測(cè)試集TarsBenchmark和一些開發(fā)工具包。TarsJavaStart,可以生成服務(wù)端和客戶端的TarsJava腳手架,快速開始Tars服務(wù)的開發(fā)。TarsTools,是一款支持多種IDE的JetBrains插件,為實(shí)現(xiàn)編輯Jce/Tars文件使用的(支持Intellij IDEA、Android Studio、PhpStorm、WebStorm、GoLand、CLion等)。

2、服務(wù)治理

服務(wù)治理包含了2個(gè)項(xiàng)目:TSeer專注于處理服務(wù)注冊(cè)與發(fā)現(xiàn);TarsGateway是基于Tars框架開發(fā)的微服務(wù)網(wǎng)關(guān),除具備網(wǎng)關(guān)的基礎(chǔ)功能外,還可以自動(dòng)將HTTP轉(zhuǎn)換成Tars-RPC協(xié)議。

3、微服務(wù)開發(fā)框架

這部分只包含Tars一個(gè)項(xiàng)目,核心模塊由C++開發(fā),提供了多語言開發(fā)框架,默認(rèn)rpc調(diào)用,是Tars基金會(huì)的核心項(xiàng)目。其他項(xiàng)目都是圍繞這個(gè)項(xiàng)目研發(fā)的。

4、微服務(wù)存儲(chǔ)

這部分只包含DCache一個(gè)項(xiàng)目,它是基于Tars框架開發(fā)的 分布式共享內(nèi)存存儲(chǔ)系統(tǒng) ,支持常用的kv數(shù)據(jù)結(jié)構(gòu)、支持二級(jí)索引、支持在線擴(kuò)縮容、支持自動(dòng)持久化到后端db等特性。DCache依賴Tars框架的運(yùn)行,但也得益于Tars,使得存儲(chǔ)服務(wù)的運(yùn)維成本幾乎為0。

5、微服務(wù)基礎(chǔ)設(shè)施

這是一個(gè)將Tars與K8S融合使用的項(xiàng)目,致力于將Tars融入到K8S生態(tài)中。

在這方面還有一個(gè)更優(yōu)秀的項(xiàng)目K8SFramework,致力于將Tars與K8S深度融合,相信未來會(huì)納入到基金會(huì)中。

| Tars的前世今生

Tars的前身是騰訊內(nèi)部的TAF框架,已經(jīng)經(jīng)過了10年的驗(yàn)證,穩(wěn)定運(yùn)行與1.6w+服務(wù)器,100多個(gè)業(yè)務(wù)線中。

據(jù)統(tǒng)計(jì), Tars已在超過 120 家公司、 261200 臺(tái)服務(wù)器上穩(wěn)定運(yùn)行。

在分布式環(huán)境下,所有的微服務(wù)(包括DCache的服務(wù))都可以通過框架自帶的控制臺(tái)-TarsWeb進(jìn)行管理, 可以做到所有服務(wù)狀態(tài)可監(jiān)控,可以在控制臺(tái)上進(jìn)行啟停、修改配置、執(zhí)行運(yùn)維指令等操作。

在分布式部署的情況下,可以通過Web控制臺(tái)實(shí)現(xiàn)一鍵升級(jí)、回退。

Tars自帶配置中心,分級(jí)配置,可以統(tǒng)一修改配置,做到“一點(diǎn)修改,全局生效”。

在服務(wù)部署時(shí),可以在界面上填寫要發(fā)布的節(jié)點(diǎn),一鍵部署、擴(kuò)容。

框架提供了狀態(tài)監(jiān)控的能力,可以監(jiān)控服務(wù)的調(diào)用質(zhì)量,如流量情況,平均耗時(shí)、超時(shí)率和異常率。

框架狀態(tài)可以在控制臺(tái)上一鍵核查。

Tars提供配套的性能測(cè)試工具,這也是Tars基金會(huì)的子項(xiàng)目。性能測(cè)試工作不再依賴專業(yè)的測(cè)試人員。

| Tars優(yōu)勢(shì)

1、原生RPC調(diào)用

Tars使用自研的RPC協(xié)議通信,服務(wù)之間建立長連接,在通信頻繁的場(chǎng)景下具備顯著的性能優(yōu)勢(shì)。

2、多語言支持

除C++和Java外,Tars還支持NodeJs,PHP,Go等語言,提供了相應(yīng)的SDK。當(dāng)團(tuán)隊(duì)技術(shù)棧多樣化時(shí),可以多語言協(xié)同開發(fā),無縫對(duì)接,開發(fā)者可以選擇自己熟悉的語言進(jìn)行開發(fā),提升團(tuán)隊(duì)整體效率。

在這方面,Spring Cloud想要支持異構(gòu)語言,需要借助SideCar構(gòu)建Service Mesh。 業(yè)界現(xiàn)在有一些比較流行的服務(wù)網(wǎng)格解決方案,但是 并沒有形成統(tǒng)一的標(biāo)準(zhǔn) , 可移植性不高 。比較常見的像Istio,由于是代理模式,而且非長連接,會(huì)存在 更大的延遲 。另一方面,Istio的部署和運(yùn)維都非常 復(fù)雜 ,需要更多的學(xué)習(xí)成本和運(yùn)維成本。

3、內(nèi)置服務(wù)治理功能

Tars框架內(nèi)嵌了豐富的服務(wù)治理功能,包括熔斷、限流、負(fù)載均衡、認(rèn)證、加密等。同時(shí),在服務(wù)監(jiān)控、數(shù)據(jù)采集,以及灰度部署、跨機(jī)房部署等方面,都原生支持,集成度高。

Spring Cloud要支持這些功能,要么需要集成其他組件,要么需要設(shè)計(jì)開發(fā)來實(shí)現(xiàn)。都需要付出額外的學(xué)習(xí)成本和研發(fā)成本。

4、運(yùn)維監(jiān)控

Tars為使用者提供了一體化的運(yùn)維管理控制臺(tái),我們可以在Web上進(jìn)行一鍵部署、擴(kuò)容、升級(jí)、回退等運(yùn)維操作。

Spring Cloud并沒有配套的工具。要實(shí)現(xiàn)Web管控, 需要借助K8S和容器,同樣需要付出額外的成本。

5、國產(chǎn)化

Tars是國內(nèi)公司主導(dǎo)的開源項(xiàng)目,這一點(diǎn)就不多說什么了。

6、“套裝”優(yōu)勢(shì)

Tars框架提供了微服務(wù)相關(guān)的一體化解決方案,常規(guī)情況下不需要再去集成其他組件,不存在兼容性問題。這就好比MacBook和兼容機(jī)的區(qū)別,兼容機(jī)你可能需要付出更多的試錯(cuò)成本才能達(dá)到想要的效果。

| 劣勢(shì)

1、項(xiàng)目熱度

Tars開源較晚,到目前只有5年多時(shí)間,項(xiàng)目熱度不如Spring Cloud,應(yīng)用也沒Spring Cloud廣泛。

2、Tars的云原生之路

Tars和K8s的深度融合也開源不久(2020年7月,K8SFramework),還有待落地驗(yàn)證。這個(gè)項(xiàng)目現(xiàn)在的更新頻率較高,不建議在生產(chǎn)中使用。但是從這一點(diǎn)也可以看到社區(qū)工作者對(duì)Tars與K8S融合的高漲熱情,相信未來這個(gè)項(xiàng)目一定會(huì)大放異彩!

Tars在微服務(wù)開發(fā)、運(yùn)維、監(jiān)控等方面提供了一體化的解決方案,可以幫助我們低成本構(gòu)建企業(yè)級(jí)微服務(wù)。適用于各種規(guī)模的團(tuán)隊(duì),各種規(guī)模的系統(tǒng)。

在做技術(shù)選型時(shí),如果團(tuán)隊(duì)中有C++開發(fā)人員,或者有多語言開發(fā)的情況,而且團(tuán)隊(duì)規(guī)模、資源有限的情況下,建議選擇Tars。它在運(yùn)維、監(jiān)控、測(cè)試等方面會(huì)為我們節(jié)約大量成本。

未來,隨著 K8SFramework 項(xiàng)目的日漸成熟,相信Tars生態(tài)會(huì)被更多的團(tuán)隊(duì)熟知和使用。

Go語言用什么緩存框架好,Redis嗎

你要的應(yīng)該是 Reids 或 Memcached 這些緩存服務(wù),在 Go 語言中的客戶端工具。

GitHub 上有個(gè) repo 叫 awesome-go(GitHub - avelino/awesome-go: A curated list of awesome Go frameworks, libraries and software),整理了常見的 Go 框架或代碼庫,其中就有 Redis 和 Memcached 的客戶端。

go語言有沒有類似tp5框架

有,go語言有框架,例如:Beego(Go語言下開源的,高性能Web框架 )、Buffalo(Go語言下快速Web開發(fā)框架)、Echo、Gin、Iris、Revel(高生產(chǎn)率,全棧Go語言的Web框架)等。

go語言框架有的不支持windows

根據(jù)資料顯示,go語言框架有的不支持windows,是因?yàn)榕c運(yùn)行的 Windows 版本不兼容。那么需要安裝與windows兼容的版本,即可。

文章標(biāo)題:go語言tars框架 go語言后端框架2021
URL地址:http://www.muchs.cn/article30/ddcpopo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化外貿(mào)建站、App開發(fā)、響應(yīng)式網(wǎng)站、云服務(wù)器建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化