go-micro入门

0. 简单说明

  • 该实验用的是官方demo
  • 开发环境是win10
  • 如果遇到了墙,请参见之前的翻墙操作(用加速器拦截全部流量,绕过墙)
    在这里插入图片描述

1. 启动consul

//go-micro的默认服务发现就是consul, 因此需要把consul起来
consul agent -dev -ui -client 0.0.0.0
或者
consul agent -server -bootstrap-expect=1 -data-dir=D:/consul/data -node=consul -bind=127.0.0.1 -ui -client=0.0.0.0

//注意
启动consul,然后打开ui是有讲究的。比如说,consul_1.5.3_windows_amd64和consul_1.4.2_windows_amd64的表现不一样。即1.5.3貌似不稳定,有时候ui能打开,有时候不能打开。1.4.2是老版本,但这个每次都能打开ui。感觉1.5.3可能是有bug

在这里插入图片描述
微服务向consul注册时的报文
在这里插入图片描述
上图红框处的数据格式化后,如下所示

{
  "ID": "greeter-876bea4f-8337-4cff-a4b6-f61f9c9910aa",
  "Name": "greeter",
  "Tags": [
    "t-789caa564a2acacf4e2d52b252ca28292950aa05040000ffff364d0600",
    "t-789caa562a4e2d2a4b2d52b252ca2d4d2e50aa05040000ffff37200607",
    "t-789caa562a4a4dcf2c2e29aa54b2524acecf2b2ecd51aa05040000ffff560f07c8",
    "t-789caa562a28ca2fc94fcecf51b252ca2d4d2e50aa05040000ffff46a906e2",
    "t-789caa562a294acc2b2ec82f2a51b252ca28292950aa05040000ffff4f930768",
    "e-789c84cf41cac23010c5f1bbbc75f90e900b7caedd8a8b019f4598a4353311447277492d41ace02af0cf0b3ff240924804fc67d299ff76549d3020f35a688ed017cbcd7ecd03fc3e7fa937d1424338f467cbd1e7e6f992c6b7612aaaf5581b68f3948c5b71ed9f64cf5b736c9f79393fdd489793b834d73c532202cea246d4fa0c0000ffff256462b2",
    "v-789cca492c492d2e01040000ffff08cc028e"
  ],
  "Port": 45803,
  "Address": "192.168.174.1",
  "Check": {
    "TTL": "30s",
    "DeregisterCriticalServiceAfter": "1m5s"
  },
  "Checks": null
}

2. 安装依赖

//下载包并生成工具
go get -u google.golang.org/grpc
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u github.com/micro/go-micro
go get -u github.com/micro/protoc-gen-micro
go get -u github.com/micro/micro

//注意
这里下载包,一定会失败。要注意姿势,科学上网,可以参考之前的文章

在这里插入图片描述

3.下载protoc工具

4.下载go-micro官网例子

在这里插入图片描述
在这里插入图片描述

5.测试官方例子

5.1下载例子

cd C:\Users\wuxian\go\src\github.com\micro\examples
git clone https://github.com/micro/examples.git

5.2编译

C:\Users\wuxian\go\src\github.com\micro\examples\greeter  //这是我实验的项目

protoc --proto_path=$GOPATH/src:. --micro_out=. --go_out=. hello.proto

在这里插入图片描述

5.3运行api

go run .\api.go --registry=consul  //如果不加registry,会出行莫名奇妙的错误

在这里插入图片描述

5.4运行server和client

go run .\main.go --registry=consul   //如果不加registry,会出行莫名奇妙的错误

在这里插入图片描述

参考资料

Micro 架构与设计
Golang 中的微服务 - 第一部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值