## 客户端
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)
}
- 环境安装
- 基础学习
- 基础语法
- 判断语句
- 数组
- 切片
- 函数
- 协程Goroutine
- 管道channel
- 结构体
- gin框架
- gin安装
- gin模板加载
- gin加载静态文件
- gin路由分组
- gin获取get参数
- gin获取post参数
- gin中cookie会话
- gin中session会话
- beego框架
- rpc
- gorm
- gorm安装
- protobuf
- 安装
- 编译
- grpc
- grpc安装
- 创建proto文件
- 创建服务端
- 创建客户端
- 服务发现consul学习
- consul安装
- consol结合grpc的服务端示例
- consol结合grpc的客户端示例
- go-micro
- go-micro安装
- micro命令创建项目