🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 客户端 func main() { //初始化consul配置 cfg := api.DefaultConfig() //创建consul对象 (可以重新指定consule 属性 也可以使用默认) client, err := api.NewClient(cfg) if err != nil { fmt.Println("client:", err) } //服务发现 从consul上获取健康的服务 service, _, _ := client.Health().Service("Facid", "serve", true,nil) addr := service[0].Service.Address + ":" + strconv.Itoa(service[0].Service.Port) // 1 链接服务 //gcon, _ := grpc.Dial("192.168.10.130:8800", grpc.WithInsecure()) //使用consule服务发现上的地址 gcon, _ := grpc.Dial(addr, grpc.WithInsecure()) // 2 初始化客户端 var person pb.Person person.Name = "张三丰22222222" person.Age = 20 gclient := pb.NewHelloClient(gcon) // 3 调用远程函数 p, err := gclient.SayHello(context.TODO(), &person) fmt.Println(p,err) }