go使用grpc的负载均衡去连接consul

使用别人开源的解析器  GitHub - mbobakov/grpc-consul-resolver: Easy-pluggable full-feature GRPC resolver for services registered in Consul

 

package main

import (
"google.golang.org/grpc/credentials/insecure"
"log"

// 这里一定要import;很重要
_ "github.com/mbobakov/grpc-consul-resolver"

"google.golang.org/grpc"
)

func main() {
conn, err := grpc.Dial(
// consul://192.168.193.128:8500 consul地址
// test-serve 拉取的服务名
// wait=14s 等待时间
// tag=manual 筛选条件
// 底层就是利用grpc-consul-resolver将参数解析成HTTP请求获取对应的服务
"consul://192.168.244.120:8500/test-server?wait=14s&tag=manual",
grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithDefaultServiceConfig(`{"loadBalancingPolicy": "round_robin"}`),
)
if err != nil {
log.Fatal(err)
}
defer conn.Close()
//client := proto.NewTestClient(conn)
//for i := 0; i < 12; i++ {
// resp, err := client.Test(context.Background(), &emptypb.Empty{})
// if err != nil {
// panic(err)
// }
// fmt.Println(resp.Msg)
//}
}
posted @   lunar-华仔  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示