Tars致力于建設微服務技術(shù)生態(tài),在底層基礎設施、服務框架、上層應用以及DevOps等方面,都做了較為深入的研發(fā)。
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的甘孜州網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
2020年3月10日,Linux基金會正式宣布旗下的TARS開源項目成立TARS子基金會。這是一個 專注于微服務領域 的開源基金會,致力于幫助企業(yè)擁抱微服務體系架構(gòu),解決在使用微服務方面可能出現(xiàn)的問題。這是首個 起源于中國開源項目 的國際開源基金會,也是Linux基金會下 唯一聚焦微服務技術(shù)生態(tài) 的子基金會。
Tars基金會里目前收錄了9個項目,分為5部分:工具集(Tars Lab)、服務治理(Service Governance)、微服務開發(fā)框架(Development Framwork)、存儲(DCache)和基礎設施(Infrustructure)。
1、Tars Lab
Tars Lab項目提供了壓力測試TarsJMeter,基準測試集TarsBenchmark和一些開發(fā)工具包。TarsJavaStart,可以生成服務端和客戶端的TarsJava腳手架,快速開始Tars服務的開發(fā)。TarsTools,是一款支持多種IDE的JetBrains插件,為實現(xiàn)編輯Jce/Tars文件使用的(支持Intellij IDEA、Android Studio、PhpStorm、WebStorm、GoLand、CLion等)。
2、服務治理
服務治理包含了2個項目:TSeer專注于處理服務注冊與發(fā)現(xiàn);TarsGateway是基于Tars框架開發(fā)的微服務網(wǎng)關(guān),除具備網(wǎng)關(guān)的基礎功能外,還可以自動將HTTP轉(zhuǎn)換成Tars-RPC協(xié)議。
3、微服務開發(fā)框架
這部分只包含Tars一個項目,核心模塊由C++開發(fā),提供了多語言開發(fā)框架,默認rpc調(diào)用,是Tars基金會的核心項目。其他項目都是圍繞這個項目研發(fā)的。
4、微服務存儲
這部分只包含DCache一個項目,它是基于Tars框架開發(fā)的 分布式共享內(nèi)存存儲系統(tǒng) ,支持常用的kv數(shù)據(jù)結(jié)構(gòu)、支持二級索引、支持在線擴縮容、支持自動持久化到后端db等特性。DCache依賴Tars框架的運行,但也得益于Tars,使得存儲服務的運維成本幾乎為0。
5、微服務基礎設施
這是一個將Tars與K8S融合使用的項目,致力于將Tars融入到K8S生態(tài)中。
在這方面還有一個更優(yōu)秀的項目K8SFramework,致力于將Tars與K8S深度融合,相信未來會納入到基金會中。
| Tars的前世今生
Tars的前身是騰訊內(nèi)部的TAF框架,已經(jīng)經(jīng)過了10年的驗證,穩(wěn)定運行與1.6w+服務器,100多個業(yè)務線中。
據(jù)統(tǒng)計, Tars已在超過 120 家公司、 261200 臺服務器上穩(wěn)定運行。
在分布式環(huán)境下,所有的微服務(包括DCache的服務)都可以通過框架自帶的控制臺-TarsWeb進行管理, 可以做到所有服務狀態(tài)可監(jiān)控,可以在控制臺上進行啟停、修改配置、執(zhí)行運維指令等操作。
在分布式部署的情況下,可以通過Web控制臺實現(xiàn)一鍵升級、回退。
Tars自帶配置中心,分級配置,可以統(tǒng)一修改配置,做到“一點修改,全局生效”。
在服務部署時,可以在界面上填寫要發(fā)布的節(jié)點,一鍵部署、擴容。
框架提供了狀態(tài)監(jiān)控的能力,可以監(jiān)控服務的調(diào)用質(zhì)量,如流量情況,平均耗時、超時率和異常率。
框架狀態(tài)可以在控制臺上一鍵核查。
Tars提供配套的性能測試工具,這也是Tars基金會的子項目。性能測試工作不再依賴專業(yè)的測試人員。
| Tars優(yōu)勢
1、原生RPC調(diào)用
Tars使用自研的RPC協(xié)議通信,服務之間建立長連接,在通信頻繁的場景下具備顯著的性能優(yōu)勢。
2、多語言支持
除C++和Java外,Tars還支持NodeJs,PHP,Go等語言,提供了相應的SDK。當團隊技術(shù)棧多樣化時,可以多語言協(xié)同開發(fā),無縫對接,開發(fā)者可以選擇自己熟悉的語言進行開發(fā),提升團隊整體效率。
在這方面,Spring Cloud想要支持異構(gòu)語言,需要借助SideCar構(gòu)建Service Mesh。 業(yè)界現(xiàn)在有一些比較流行的服務網(wǎng)格解決方案,但是 并沒有形成統(tǒng)一的標準 , 可移植性不高 。比較常見的像Istio,由于是代理模式,而且非長連接,會存在 更大的延遲 。另一方面,Istio的部署和運維都非常 復雜 ,需要更多的學習成本和運維成本。
3、內(nèi)置服務治理功能
Tars框架內(nèi)嵌了豐富的服務治理功能,包括熔斷、限流、負載均衡、認證、加密等。同時,在服務監(jiān)控、數(shù)據(jù)采集,以及灰度部署、跨機房部署等方面,都原生支持,集成度高。
Spring Cloud要支持這些功能,要么需要集成其他組件,要么需要設計開發(fā)來實現(xiàn)。都需要付出額外的學習成本和研發(fā)成本。
4、運維監(jiān)控
Tars為使用者提供了一體化的運維管理控制臺,我們可以在Web上進行一鍵部署、擴容、升級、回退等運維操作。
Spring Cloud并沒有配套的工具。要實現(xiàn)Web管控, 需要借助K8S和容器,同樣需要付出額外的成本。
5、國產(chǎn)化
Tars是國內(nèi)公司主導的開源項目,這一點就不多說什么了。
6、“套裝”優(yōu)勢
Tars框架提供了微服務相關(guān)的一體化解決方案,常規(guī)情況下不需要再去集成其他組件,不存在兼容性問題。這就好比MacBook和兼容機的區(qū)別,兼容機你可能需要付出更多的試錯成本才能達到想要的效果。
| 劣勢
1、項目熱度
Tars開源較晚,到目前只有5年多時間,項目熱度不如Spring Cloud,應用也沒Spring Cloud廣泛。
2、Tars的云原生之路
Tars和K8s的深度融合也開源不久(2020年7月,K8SFramework),還有待落地驗證。這個項目現(xiàn)在的更新頻率較高,不建議在生產(chǎn)中使用。但是從這一點也可以看到社區(qū)工作者對Tars與K8S融合的高漲熱情,相信未來這個項目一定會大放異彩!
Tars在微服務開發(fā)、運維、監(jiān)控等方面提供了一體化的解決方案,可以幫助我們低成本構(gòu)建企業(yè)級微服務。適用于各種規(guī)模的團隊,各種規(guī)模的系統(tǒng)。
在做技術(shù)選型時,如果團隊中有C++開發(fā)人員,或者有多語言開發(fā)的情況,而且團隊規(guī)模、資源有限的情況下,建議選擇Tars。它在運維、監(jiān)控、測試等方面會為我們節(jié)約大量成本。
未來,隨著 K8SFramework 項目的日漸成熟,相信Tars生態(tài)會被更多的團隊熟知和使用。
你要的應該是 Reids 或 Memcached 這些緩存服務,在 Go 語言中的客戶端工具。
GitHub 上有個 repo 叫 awesome-go(GitHub - avelino/awesome-go: A curated list of awesome Go frameworks, libraries and software),整理了常見的 Go 框架或代碼庫,其中就有 Redis 和 Memcached 的客戶端。
有,go語言有框架,例如:Beego(Go語言下開源的,高性能Web框架 )、Buffalo(Go語言下快速Web開發(fā)框架)、Echo、Gin、Iris、Revel(高生產(chǎn)率,全棧Go語言的Web框架)等。
根據(jù)資料顯示,go語言框架有的不支持windows,是因為與運行的 Windows 版本不兼容。那么需要安裝與windows兼容的版本,即可。
文章標題:go語言tars框架 go語言后端框架2021
URL地址:http://chinadenli.net/article30/ddcpopo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、外貿(mào)建站、App開發(fā)、響應式網(wǎng)站、云服務器、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)