基本介绍
GoFrame 框架支持微服务模式开发,提供了常用的微服务组件、开发工具、开发教程帮助团队快速微服务转型。
微服务组件简介
GoFrame 微服务组件具有低耦合及通用化设计,组件化使用支持大部分的微服务通信协议。在官方文档中,主要以 HTTP 及 GRPC 协议为示例,介绍微服务的开发以及组件工具的使用。
HTTP 微服务示例
服务端代码 (server.go)
package main
import (
"github.com/gogf/gf/contrib/registry/file/v2"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/net/gsvc"
"github.com/gogf/gf/v2/os/gfile"
)
func main() {
// 使用文件系统作为服务注册发现组件
gsvc.SetRegistry(file.New(gfile.Temp("gsvc")))
// 创建服务并绑定处理器
s := g.Server(`hello.svc`)
s.BindHandler("/", func(r *ghttp.Request) {
g.Log().Info(r.Context(), `request received`)
r.Response.Write(