zoukankan      html  css  js  c++  java
  • go的服务注册和服务消费

    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)
    }
  • 相关阅读:
    ARC 080
    CodeForces
    [Lydsy1806月赛] 路径统计
    AGC 022 C
    AGC 022 B
    AGC 020 B
    UVA
    AGC 018 A
    python
    python
  • 原文地址:https://www.cnblogs.com/huqi96/p/14388823.html
Copyright © 2011-2022 走看看