grpc-gateway如何注册一个微服务的多个gRPC?

来源:3-4 GRPC Gateway的实现

burningx

2021-11-05 23:22:50

老师你好,我使用grpc-gateway做了一个API层,然后反向代理到我的微服务当中,但是我的微服务有多个proto service,例如:

https://img.mukewang.com/climg/6185483209344e3d13420542.jpg

https://img.mukewang.com/climg/6185483209d6e46812020702.jpg

https://img.mukewang.com/climg/6185483209f07fd604940262.jpg


现在我出现了一个问题,我在 gateway 使用consul负载均衡方法注册gRPC的两个文件时却报错了,如下:

https://img.mukewang.com/climg/61854b51092f142b18980322.jpg

https://img.mukewang.com/climg/61854b53097822c218800618.jpg


请问老师,我一个微服务有2个proto 接口的情况下,grpc-gateway如何使用consul负载均衡来发现服务


写回答

1回答

ccmouse

2021-11-09

这个和两个proto没关系,需要使用grpc consul resolver。https://github.com/mbobakov/grpc-consul-resolver


github可能打不开,可以快速参考这段示例代码:


package main


import (

"time"

"log"


_ "github.com/mbobakov/grpc-consul-resolver" // It's important


"google.golang.org/grpc"

)


func main() {

    conn, err := grpc.Dial(

        "consul://127.0.0.1:8500/whoami?wait=14s&tag=manual",

        grpc.WithInsecure(),

        grpc.WithDefaultServiceConfig(`{"loadBalancingPolicy": "round_robin"}`),

    )

    if err != nil {

        log.Fatal(err)

    }

    defer conn.Close()

    ...

}


0
hurningx
hp>确实跟两个proto没关系,感谢老师解答哈。

h021-11-13
共1条回复

0 学习 · 1399 问题

查看课程