go使用grpc的负载均衡去连接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)
//}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律