grpc-gateway如何注册一个微服务的多个gRPC?
来源:3-4 GRPC Gateway的实现
burningx
2021-11-05 23:22:50
老师你好,我使用grpc-gateway做了一个API层,然后反向代理到我的微服务当中,但是我的微服务有多个proto service,例如:



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


请问老师,我一个微服务有2个proto 接口的情况下,grpc-gateway如何使用consul负载均衡来发现服务
1回答
这个和两个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()
...
}
相似问题
回答 1
回答 1