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/istio
https://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-zero
https://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)的負載均衡路由器。【