TarsGo 支援 protocol buffer

sandyskies發表於2018-10-12
  • Tars 是騰訊從 2008 年到今天一直在使用的後臺邏輯層的統一應用框架 TAF ( Total Application Framework ),目前支援 C++,Java,PHP,Nodejs,Golang 語言。該框架為使用者提供了涉及到開發、運維、以及測試的一整套解決方案,幫助一個產品或者服務快速開發、部署、測試、上線。 它集可擴充套件協議編解碼、高效能 RPC 通訊框架、名字路由與發現、釋出監控、日誌統計、配置管理等於一體,通過它可以快速用微服務的方式構建自己的穩定可靠的分散式應用,並實現完整有效的服務治理。目前該框架在騰訊內部,各大核心業務都在使用,頗受歡迎,基於該框架部署執行的服務節點規模達到上萬個。

  • Tars 於 2017 年 4 月開源,並於 2018 年 6 月加入 Linux 基金會,專案地址 https://github.com/TarsCloud

  • TarsGo 是 Tars 的 Go 語言實現版本, 於 2018 年 9 月開源, 專案地址 https://github.com/TarsCloud/TarsGo

  • Tars 協議是一種類 c++ 識別符號的語言,用於生成具體的服務介面檔案,Tars 檔案是 Tars 框架中客戶端和服務端的通訊介面,通過 Tars 的對映實現遠端物件呼叫。Tars 協議是和語言無關,基於 IDL 介面描述語言的二進位制編碼協議。

  • Protocol Buffers (簡稱 PB ) 是 Google 的一種資料交換的格式,它獨立於語言,獨立於平臺,最早公佈於 2008 年 7 月。隨著微服務架構的發展及自身的優異表現,ProtoBuf 可用於諸如網路傳輸、配置檔案、資料儲存等諸多領域,目前在網際網路上有著大量應用。

  • PB 協議是單獨的協議,如果要支援 RPC,可以定義 service 欄位,並且基於 protoc-gen-go 的 grpc 外掛生成相應的 grpc 編碼。

  • 本次 Tars 支援 protoc-gen-go 的 plugin,可以將 service 直接生成 tars 相關的 RPC 程式碼

  • 詳細閱讀實現 y 原理 https://cloud.tencent.com/developer/article/1353058?s=original-sharing

更多原創文章乾貨分享,請關注公眾號
  • TarsGo 支援 protocol buffer
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章