go語言有微服務(wù)框架,例如:1、Istio,是一個開源的微服務(wù)管理、保護和監(jiān)控框架;2、Go-kit,是一個Go語言的分布式開發(fā)包,用于開發(fā)微服務(wù);3、Go-zero,是一個集成了各種工程實踐的web和rpc框架;4、Go-micro,是一個專注于簡化分布式系統(tǒng)開發(fā)的微服務(wù)生態(tài)系統(tǒng);5、Kratos;6、CloudWeGo-Kitex;7、Goa;8、Dubbo-go等等。
php入門到就業(yè)線上直播課:進入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。
微服務(wù)框架是將某個應(yīng)用程序開發(fā)劃分為對許多小型服務(wù)獨立的進行業(yè)務(wù)開發(fā),這些服務(wù)一般圍繞業(yè)務(wù)規(guī)則進行構(gòu)建,可以用不同的語言開發(fā),使用不同的數(shù)據(jù)存儲,最終使得每個服務(wù)運行在自己的行程中。并且它們之間采用輕量級通信機制進行通信。
那么有基于go語言的微服務(wù)框架嗎?答案是:有!下面就來分享一些Go語言開發(fā)的微服務(wù)框架。
1.Istio(31.7K)
項目簡介:Istio是由Google、IBM和Lyft開源的微服務(wù)管理、保護和監(jiān)控框架。使用istio可以很簡單的創(chuàng)建具有負(fù)載均衡、服務(wù)間認(rèn)證、監(jiān)控等功能的服務(wù)網(wǎng)絡(luò),而不需要對服務(wù)的代碼進行任何修改。
倉庫地址: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 語言的分布式開發(fā)包,用于開發(fā)微服務(wù)。
倉庫地址: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是一個專注于簡化分布式系統(tǒng)開發(fā)的微服務(wù)生態(tài)系統(tǒng)??刹灏蔚牟寮O(shè)計,提供強大的可插拔的架構(gòu)來保證基礎(chǔ)組件可以被靈活替換。
倉庫地址:https://github.com/asim/go-micro
官方文檔地址:https://go-micro.dev/
中文文檔:介紹 · go-micro 微服務(wù)開發(fā)中文手冊 · 看云Micro是一個微服務(wù)生態(tài)系統(tǒng)。目標(biāo)是簡化分布式系統(tǒng)開發(fā)。技術(shù)正在迅速發(fā)展。現(xiàn)在云計算能夠給我們幾乎是無限的scale能力,但是采用現(xiàn)有工具來使用scale能力仍然是很困難的。Micro試圖去解決這個問題,開發(fā)人員首先關(guān)注。Micro的核心是簡單易用,任何人都可以輕松開始編寫微服務(wù)。隨著您擴展到數(shù)百種服務(wù),Micro將提供管理微服務(wù)環(huán)境所需的基本工具https://www.kancloud.cn/linimbus/go-micro/529015
5.Kratos(19.2K)
項目簡介:嗶哩嗶哩(B站)開源的一套Go微服務(wù)框架,包含大量微服務(wù)相關(guān)框架及工具。
倉庫地址:https://github.com/cloudwego/kitex
官方文檔地址:https://go-kratos.dev/docs/
6.CloudWeGo-Kitex(5.2K)
項目簡介:字節(jié)跳動,KiteX 自 2020.04 正式發(fā)布以來,公司內(nèi)部服務(wù)數(shù)量 8k+,QPS 過億。KiteX 是字節(jié)跳動框架組研發(fā)的下一代高性能、強可擴展性的 Go RPC 框架。除具備豐富的服務(wù)治理特性外,相比其他框架還有以下特點:集成了自研的網(wǎng)絡(luò)庫 Netpoll;支持多消息協(xié)議(Thrift、Protobuf)和多交互方式(Ping-Pong、Oneway、 Streaming);提供了更加靈活可擴展的代碼生成器。
倉庫地址:https://github.com/cloudwego/kitex
官方文檔地址:https://www.cloudwego.io/zh/docs/overview/
7.Goa(4.9K)
項目簡介:Goa 是一款用 Go 用于構(gòu)建微服務(wù)的框架,采用獨特的設(shè)計優(yōu)先的方法
倉庫地址:https://github.com/goadesign/goa
官方文檔地址:https://goa.design/
8.Dubbo-go(4.2K)
項目簡介:阿里,由Apache 軟件基金會官方發(fā)布Go 語言加入 Dubbo 生態(tài),架構(gòu)是基于dubbo的extension模塊和分層的代碼設(shè)計,主要解決 Go 項目與 Java & Dubbo 項目的互通問題,同時也為 Go 項目提供了一種 RPC 與微服務(wù)
倉庫地址:https://github.com/apache/dubbo-go
官方文檔地址:https://dubbogo.github.io/dubbo-go-website/zh-cn/
9.Jupiter(3.9K)
項目簡介:斗魚開源的一套微服務(wù)治理框架,提供豐富的后臺功能,管理應(yīng)用的資源、配置,應(yīng)用的性能、配置等可視化。
倉庫地址:https://github.com/douyu/jupiter
官方文檔地址:http://jupiter.douyu.com/
10.Tars-go(3.1K)
項目簡介:騰訊,Tarsgo是基于Golang編程語言使用Tars協(xié)議的高性能RPC框架
倉庫地址:https://github.com/TarsCloud/TarsGo
官方文檔地址:https://tarscloud.github.io/TarsDocs/SUMMARY.html#TarsGo
附:北極星-polaris-go
北極星是騰訊開源的服務(wù)發(fā)現(xiàn)和治理中心,致力于解決分布式或者微服務(wù)架構(gòu)中的服務(wù)可見、故障容錯、流量控制和安全問題。
倉庫地址:https://github.com/polarismesh/polaris
官方文檔地址:https://polarismesh.cn/#/
11.Jaeger
Jaeger是Uber的分布式跟蹤系統(tǒng) ,基于google dapper的原理構(gòu)建, 以Cassandra作為存儲層。
12.fabio
fabio是ebay團隊用golang開發(fā)的一個快速、簡單零配置能夠讓consul部署的應(yīng)用快速支持http(s)的負(fù)載均衡路由器?!?/p>