1.服务注册
import ( "github.com/gin-gonic/gin" "github.com/micro/go-micro/registry" "github.com/micro/go-micro/web" "github.com/micro/go-plugins/registry/consul" ) // 使用gin框架 func main() { consulReg:=consul.NewRegistry( registry.Addrs("127.0.0.1:8500"), ) ginRouter:=gin.Default() v1Group:=ginRouter.Group("/v1") { v1Group.Handle("GET","/prods", func(context *gin.Context) { context.JSON(200,NewProdList(5)) }) } web.NewService(web.Address(":8001"), web.Handler(ginRouter), web.Registry(consulReg), web.Name("product")).Run() }
2.服务消费
import ( "fmt" "github.com/micro/go-micro/client/selector" "github.com/micro/go-micro/registry" "github.com/micro/go-plugins/registry/consul" "log" ) func main() { consulReg:=consul.NewRegistry( registry.Addrs("127.0.0.1:8500")) getService,err:=consulReg.GetService("product") if err!=nil{ log.Fatal("err") }
//轮询的方式获取服务
//next:=selector.RoundRobin(getService)
// 随机的方式获取服务 next:=selector.Random(getService) node,err := next() if err!=nil{ log.Fatal("err") } fmt.Println(node.Id,node.Address,node.Metadata) }