## 客戶端
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命令創建項目