go語言有微服務架構嗎

2022-11-30 22:01:00

go語言有微服務架構,例如:1、Istio,是一個開源的微服務管理、保護和監控框架;2、Go-kit,是一個Go語言的分散式開發包,用於開發微服務;3、Go-zero,是一個整合了各種工程實踐的web和rpc框架;4、Go-micro,是一個專注於簡化分散式系統開發的微服務生態系統;5、Kratos;6、CloudWeGo-Kitex;7、Goa;8、Dubbo-go等等。

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

微服務架構是將某個應用程式開發劃分為對許多小型服務獨立的進行業務開發,這些服務一般圍繞業務規則進行構建,可以用不同的語言開發,使用不同的資料儲存,最終使得每個服務執行在自己的行程中。並且它們之間採用輕量級通訊機制進行通訊。

那麼有基於go語言的微服務架構嗎?答案是:有!下面就來分享一些Go語言開發的微服務架構。

1.Istio(31.7K)

專案簡介:Istio是由Google、IBM和Lyft開源的微服務管理、保護和監控框架。使用istio可以很簡單的建立具有負載均衡、服務間認證、監控等功能的服務網路,而不需要對服務的程式碼進行任何修改。

倉庫地址:https://github.com/istio/istiohttps://github.com/istio/istio

官方檔案地址:https://istio.io/latest/docs/https://istio.io/latest/docs/

2.Go-kit(24.1K)

專案簡介:Go-kit 是一個 Go 語言的分散式開發包,用於開發微服務。

倉庫地址:https://github.com/go-kit/kit/https://github.com/go-kit/kit/

官方檔案地址:https://gokit.io/

3.Go-zero(24.1K)

專案簡介:go-zero 是一個整合了各種工程實踐的 web 和 rpc 框架。

倉庫地址:https://github.com/tal-tech/go-zerohttps://github.com/tal-tech/go-zero

官方檔案地址:https://go-zero.dev/cn/docs/introduction

4.Go-micro(19.6K)

專案簡介:Micro是一個專注於簡化分散式系統開發的微服務生態系統。可插拔的外掛化設計,提供強大的可插拔的架構來保證基礎元件可以被靈活替換。

倉庫地址:https://github.com/asim/go-micro

官方檔案地址:https://go-micro.dev/

中文檔案:介紹 · go-micro 微服務開發中文手冊 · 看雲Micro是一個微服務生態系統。目標是簡化分散式系統開發。技術正在迅速發展。現在雲端計算能夠給我們幾乎是無限的scale能力,但是採用現有工具來使用scale能力仍然是很困難的。Micro試圖去解決這個問題,開發人員首先關注。Micro的核心是簡單易用,任何人都可以輕鬆開始編寫微服務。隨著您擴充套件到數百種服務,Micro將提供管理微服務環境所需的基本工具https://www.kancloud.cn/linimbus/go-micro/529015

5.Kratos(19.2K)

專案簡介:嗶哩嗶哩(B站)開源的一套Go微服務架構,包含大量微服務相關框架及工具。

倉庫地址:https://github.com/cloudwego/kitex

官方檔案地址:https://go-kratos.dev/docs/

6.CloudWeGo-Kitex(5.2K)

專案簡介:位元組跳動,KiteX 自 2020.04 正式釋出以來,公司內部服務數量 8k+,QPS 過億。KiteX 是位元組跳動框架組研發的下一代高效能、強可延伸性的 Go RPC 框架。除具備豐富的服務治理特性外,相比其他框架還有以下特點:整合了自研的網路庫 Netpoll;支援多訊息協定(Thrift、Protobuf)和多互動方式(Ping-Pong、Oneway、 Streaming);提供了更加靈活可延伸的程式碼生成器。

倉庫地址:https://github.com/cloudwego/kitex

官方檔案地址:https://www.cloudwego.io/zh/docs/overview/

7.Goa(4.9K)

專案簡介:Goa 是一款用 Go 用於構建微服務的框架,採用獨特的設計優先的方法

倉庫地址:https://github.com/goadesign/goa

官方檔案地址:https://goa.design/

8.Dubbo-go(4.2K)

專案簡介:阿里,由Apache 軟體基金會官方釋出Go 語言加入 Dubbo 生態,架構是基於dubbo的extension模組和分層的程式碼設計,主要解決 Go 專案與 Java & Dubbo 專案的互通問題,同時也為 Go 專案提供了一種 RPC 與微服務

倉庫地址:https://github.com/apache/dubbo-go

官方檔案地址:https://dubbogo.github.io/dubbo-go-website/zh-cn/

9.Jupiter(3.9K)

專案簡介:鬥魚開源的一套微服務治理框架,提供豐富的後臺功能,管理應用的資源、設定,應用的效能、設定等視覺化。

倉庫地址:https://github.com/douyu/jupiter

官方檔案地址:http://jupiter.douyu.com/

10.Tars-go(3.1K)

專案簡介:騰訊,Tarsgo是基於Golang程式語言使用Tars協定的高效能RPC框架

倉庫地址:https://github.com/TarsCloud/TarsGo

官方檔案地址:https://tarscloud.github.io/TarsDocs/SUMMARY.html#TarsGo

附:北極星-polaris-go

北極星是騰訊開源的服務發現和治理中心,致力於解決分散式或者微服務架構中的服務可見、故障容錯、流量控制和安全問題。

倉庫地址:https://github.com/polarismesh/polaris

官方檔案地址:https://polarismesh.cn/#/

11.Jaeger

Jaeger是Uber的分散式跟蹤系統 ,基於google dapper的原理構建, 以Cassandra作為儲存層。

12.fabio

fabio是ebay團隊用golang開發的一個快速、簡單零設定能夠讓consul部署的應用快速支援http(s)的負載均衡路由器。【相關推薦:Go視訊教學

13.gizmo

gizmo是紐約時報開源的go微服務工具,提供如下特性:標準化設定和紀錄檔;可設定策略的狀態監測端點;用於管理pprof端點和紀錄檔級別的設定;結構化紀錄檔,提供基本請求資訊;端點的有用度量;優雅的停止服務; 定義期待和詞彙的基本介面。

14.kite

kite是一個基於go語言的微服務架構, Kite是Koding公司內部的一個框架, 該框架提供服務發現,多種認證功能,伺服器端通過RPC進行通訊,同時還提供了websocket的js庫,方便瀏覽器於伺服器間進行通訊。

15.hystrix-go

hystrix-go是用來隔離遠端系統呼叫,第三方庫呼叫,服務呼叫,提供熔斷機制,避免雪崩效應的庫, Hystrix的go版本。注Hystrixs是Netflix開源的一個java庫。

16.Gateway

Gateway是一個使用go實現的基於HTTP的API閘道器。特性:API聚合; 流控; 熔斷; 負載均衡; 健康檢查; 監控; 訊息路由; 後端管理WebUI。能做什麼:規劃更友好的URL給呼叫者。聚合多個API的結果返回給API呼叫者,利於行動端,後端可以實現原子介面。保護後端API服務不會被突發異常流量壓垮。提供熔斷機制,使得後端API Server具備自我恢復能力。藉助訊息路由能力,實現灰度釋出,AB測試。

17.rainbond

雲幫是一款以應用為中心的開源PaaS,深度整合Kubernetes的容器管理和Service Mesh微服務架構最佳實踐,滿足支撐業務高速發展所需的敏捷開發、高效運維和精益管理需求。

18.appdash

appdash是一款go版本的分散式應用跟蹤系統, 基於google dapper的原理構建。

19.Hprose

Hprose是高效能遠端物件服務引擎的縮寫——微服務首選引擎。它是一個先進的輕量級的跨語言跨平臺物件導向的高效能遠端動態通訊中介軟體。它不僅簡單易用,而且功能強大。你只需要稍許的時間去學習,就能用它輕鬆構建跨語言跨平臺的分散式應用系統。

更多程式設計相關知識,請存取:!!

以上就是go語言有微服務架構嗎的詳細內容,更多請關注TW511.COM其它相關文章!