可以先直接使用go自帶的http server 框架,這個框架涵蓋了絕大多數(shù)的功能,比如request response 的基本封裝,簡單的路由管理,文件上傳處理。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供汝州企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為汝州眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進(jìn)行中。
如果發(fā)現(xiàn)Go 自帶的框架解決不了問題,可以引入相應(yīng)的第三方組件,比如ORM可以采用中國人寫的gorm 比如web 的session 管理可以使用gorilla/session
當(dāng)然你也可以直接上大一統(tǒng)的框架比如你提到的beego 還有大名鼎鼎的martini 。不過不推薦,因為這樣的大框架和Go 語言本身的模塊設(shè)計有沖突。
實際開發(fā)建議用vscode 加Go 插件來做IDE,基本包含了其他成熟IDE的所有功能,而且還自帶強大的debug 功能。其他IDE debug 用起來非常麻煩比如idea 和liteIDE。題主也可以自己試下。
度娘給出的一個完整答案,總結(jié)的很全面
Java系微服務(wù)框架
· Spring Boot/ Netflix OSS/Spring Cloud
· Dubbo
· Dropwizard
· Akka
· Vert.x/ Lagom/ ReactiveX/Spring 5
· 除了以上介紹的這些主流微服務(wù)框架外,還有Grizzly、KumuluzEE、ConductR、Ninja、Jodd、Restlet、RESTEasy、Payara Micro、Redkale、RestExpress、restx、JessMA、eventuate、Rapidoid、Ratpack、Javalite、JHipster及Bootique.io等
.Net系微服務(wù)框架
· Service Fabric
· Surging
· Steeltoe OSS
· Microdot Framework
· .NET China Foundation
· 除以上框架,還有Xigadee、Apworks framework、Cronus、NancyFx、GRPC等相關(guān)框架和項目
Node.js微服務(wù)框架
· Seneca
· Hapi/ restify/ LoopBack
Go微服務(wù)框架
· Go-Kit
· Goa
· Dubbogo
· 除了上面3種基于Go語言的微服務(wù)框架,還有Micro、Gizmo等
Python微服務(wù)框架
· Nameko, Python的微服務(wù)框架非常少,暫時就列出一個框架
近幾年誕生了很多微服務(wù)框架,比如JAVA的Spring Cloud、Dubbo;Golang的GoKit和GoMicro以及NodeJs的Seneca。幾乎每種主流語言都有其對應(yīng)的微服務(wù)框架。
Go在微服務(wù)框架中有其獨特的優(yōu)勢,至于優(yōu)勢在哪,自行g(shù)oogle。
1、GoKit框架
這是一個工具包的集合,可以幫助攻城獅構(gòu)建強大、可靠和可維護(hù)的微服務(wù)。提供了用于實現(xiàn)系統(tǒng)監(jiān)控和彈性模式組件的庫,例如日志、跟蹤、限流、熔斷等。
基于這個框架的應(yīng)用程序架構(gòu)由三個主要的部分組成:
傳輸層:用于網(wǎng)絡(luò)通信,服務(wù)通常使用HTTP或者gRPC等網(wǎng)絡(luò)傳輸協(xié)議,或者使用NATS等發(fā)布訂閱系統(tǒng)相互通信。
接口層:是服務(wù)器和客戶端的基本構(gòu)建塊。每個對外提供的接口方法都會定義為一個Endpoint,一遍在服務(wù)器和客戶端之間進(jìn)行網(wǎng)絡(luò)通信,每個端點使用傳輸層通過HTTP或gRPC等具體通信模式對外提供服務(wù)
服務(wù)成:具體的業(yè)務(wù)邏輯實現(xiàn)
2、GoMicro框架
這是一個基于Go語言實現(xiàn)的插件化RPC微服務(wù)框架。提供了服務(wù)發(fā)現(xiàn)、負(fù)載均衡、同步傳輸、異步通信以及事件驅(qū)動等機(jī)制,嘗試簡化分布式系統(tǒng)之間的通信,讓開發(fā)者更專注于自身業(yè)務(wù)邏輯的開發(fā)。
GoMicro的設(shè)計哲學(xué)是可插拔的架構(gòu)理念,提供了可快速構(gòu)建系統(tǒng)的組件,并且可以根據(jù)自身的需求對GoMicro提供的默認(rèn)實現(xiàn)進(jìn)行定制。所有插件都可在倉庫github.com/micro/go-plugins 中找到。
通過beego快速創(chuàng)建一個Restful風(fēng)格API項目及API文檔自動化:
Go 語言構(gòu)建 RESTful Web 服務(wù):
Golang中使用 JWT認(rèn)證來 保障Restful JSON API的安全(英文):
polaris: 一個用go實現(xiàn)的支持restful的web框架:
關(guān)于RESTFUL API 安全認(rèn)證方式的一些總結(jié):
有沒有人用golang實現(xiàn)過restful框架的實例:
Micro 一個用Go語言實現(xiàn)的微服務(wù)框架:
基于微服務(wù)庫的可插拔RPC go-micro:
golang適合做web開發(fā)嗎?:
a-survey-of-5-go-web-frameworks:
Ozzo Framework:
avelino/awesome-go:
Beego Framework:
golang其實不適合做web開發(fā):
Go語言現(xiàn)有Web開發(fā)框架:
使用Golang快速構(gòu)建WEB應(yīng)用:
Martini 極好的 Go WEB 框架:
golang 有哪些比較穩(wěn)定的 web 開發(fā)框架?: