自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

Tars項目于2017年4月開源,BSD3協(xié)議,至今已有5年。在軟件層面,社區(qū)的版本保持穩(wěn)定的迭代,支持了多語言微服務(wù)的開發(fā)和治理;在硬件層面,也移植到Arm生態(tài)上。Tars可以幫助開發(fā)人員和企業(yè),以微服務(wù)的方式快速構(gòu)建自己穩(wěn)定可靠的分布式應(yīng)用,從而令開發(fā)人員只關(guān)注業(yè)務(wù)邏輯,提高開發(fā)和運營效率。

項目背景介紹

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

Tars微服務(wù)生態(tài)

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

  • 服務(wù)可以部署在物理機(jī)、虛擬機(jī)、容器、K8S 上,兼容Windows、Linux和MacOS;數(shù)據(jù)可以選擇存儲在 Cache、數(shù)據(jù)庫或者文件系統(tǒng)上
  • 支持豐富的協(xié)議,如自研的TARS協(xié)議、TUP協(xié)議,也支持業(yè)界常用的 SSL、HTTP、PB 等。此外還可以自定義協(xié)議。在RPC調(diào)用上可以進(jìn)行同步、異步和單向多種方式
  • 框架原生集成了豐富的服務(wù)治理功能,包括但不限于服務(wù)注冊/發(fā)現(xiàn)、負(fù)載均衡、自定義監(jiān)控、日志、過載保護(hù)、熔斷機(jī)制、IDC/SET部署,等等能力。
  • 在應(yīng)用層面,社區(qū)計劃支持各種業(yè)務(wù)應(yīng)用,如深度學(xué)習(xí)、邊緣計算與API網(wǎng)關(guān)等等。
  • 在生態(tài)支撐方面,Tars框架支持多種編程語言,包括 C++、Go、Java、Node.js、PHP 等。同時還可以結(jié)合各種DevOps工具實現(xiàn)持續(xù)集成和持續(xù)發(fā)布。

Tars子基金會

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

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

1、Tars Lab

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

Tars Lab

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

2、服務(wù)治理

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

服務(wù)治理項目

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

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

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

開發(fā)框架

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

4、微服務(wù)存儲

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

微服務(wù)存儲

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

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

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

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

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

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

Tars的前世今生

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

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

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

友商評價

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

使用體驗

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

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

白屏化運維

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

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

海量節(jié)點一鍵升級/回退

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

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

一點修改配置

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

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

一鍵擴(kuò)容

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

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

狀態(tài)監(jiān)控

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

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

框架狀態(tài)

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

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

集成性能測試工具

與SpringCloud對比

Tars優(yōu)勢

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

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

2、多語言支持

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

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

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

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

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

4、運維監(jiān)控

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

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

5、國產(chǎn)化

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

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

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

劣勢

1、項目熱度

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

2、Tars的云原生之路

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

寫在最后

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

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

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

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2020-03-13 16:19:42

RPCTARS騰訊開源

2015-04-21 13:37:44

Google開源CC++版

2019-07-12 08:45:07

開源微服務(wù)框架

2021-12-02 16:20:17

開源微服務(wù)框架

2020-10-20 17:35:42

srpcRPC語言

2018-12-25 23:10:11

框架C++

2020-09-03 14:45:09

C語言開源項目

2011-07-10 15:26:54

C++

2014-04-24 13:43:37

CC++單元測試框架

2024-12-23 00:22:55

2011-07-05 13:24:03

C++

2014-03-17 10:10:58

CC++編程書籍

2021-03-18 09:24:11

DrogonC++框架

2015-03-18 10:46:04

Android框架開源

2017-02-28 14:32:48

微服務(wù)開發(fā)軟件

2011-05-16 09:07:13

Django

2024-06-05 06:43:20

2018-09-20 17:30:01

2022-02-15 09:00:00

Java開發(fā)框架

2018-09-17 14:34:34

微服務(wù)測試架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號