Golang微服务:micro实践

micro 使用

工具安装

使用protoc生成代码,依赖两个插件:protoc-gen-go、protoc-gen-micro

  • micro 工具 go get -u github.com/micro/micro
  • go get -u github.com/micro/protoc-gen-micro
  • protoc 直接在github上下载二进制文件

生成项目

D:gosrcgithub.comaxenginejvv>micro new github.com/axengine/jvv/demo
Creating service go.micro.srv.demo in D:gosrcgithub.comaxenginejvvdemo

生成的项目文件如下

.
├── main.go
├── plugin.go
├── handler
│   └── example.go
├── subscriber
│   └── example.go
├── protoexample
│   └── example.proto
├── Dockerfile
├── Makefile
└── README.md

生成代码

编辑proto文件,也可以使用默认的文件,注意路径

cd D:gosrcgithub.comaxenginejvvdemo
protoc --proto_path=. --go_out=. --micro_out=. proto/example/example.proto

micro指令

micro --registry_address=192.168.8.162:8500 list services

Tips

  • 注册中心consul不支持集群,建议使用etcdv3
  • 默认的pub/sub 采用http方式,丢消息风险非常高,可替代的有nats,nsq,redis等
  • 服务间默认通信采用RPC
  • 默认的selector是cache,算法是随机
原文地址:https://www.cnblogs.com/cqvoip/p/9964501.html