直接回答:go-micro 默认用 consul 做服务注册中心,本地开发用 consul agent -dev 起一个单节点就够了,服务启动后会自动注册,调用方用服务名而不是 IP 访问。

服务发现

consul的安装

参考地址 Downloads | Consul by HashiCorp

consul的使用

1
consul agent -dev //以开发模式运行一个consul
  1. consule agent
      • bind=0.0.0.0 指定所在电脑的IP地址
      • -http-port=8500 consul自带一个web访问的默认端口:8500
      • -client=127.0.0.1。 表示哪些机器可以访问,默认本季,0.0.0.0所有机器都可访问
      • -config-dir=foo 所有主动注册服务的描述信息
      • -data-dir=path 储存所有注册过来的srv机器的详细信息.
      • -dev 开发着模式
      • -node=hostname。服务发现的名字
      • -rejoin consul 启动的时候,加入到consul集群
      • -server。 以服务的方式开启consul,允许其他的consul链接到开启的consul上,形成集群,如果不加server表示以客户端方式开启,不能呗连接
      • -ui 可以使用web页面来查看服务发现的详情

consul有两种模式,分别是server和client,通过下面命令开启

1
2
consul agen -server
consul agen

安装go-micro

1
2
3
4
5
6
7
8
# 安装go-micro
go get -u -v github.com/micro/go-micro
# 安装工具集
go get -u -v github.com/micro/go-plugins
go get -u -v github.com/micro/micro
# 安装protobuf插件
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
go get -u github.com/micro/protoc-gen-micro

new 参数

  • --namespace “go.micro” 命名空间
  • --type "srv" 服务类型
  • --fqdn 服务的正式完整定义
  • --alias 别名

这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。

站内搜索

没有找到内容!