直接回答:go-micro 默认用 consul 做服务注册中心,本地开发用 consul agent -dev 起一个单节点就够了,服务启动后会自动注册,调用方用服务名而不是 IP 访问。
服务发现
consul的安装
consul的使用
1 | consul agent -dev //以开发模式运行一个consul |
- 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 | consul agen -server |
安装go-micro
1 | # 安装go-micro |
new 参数
- --namespace “go.micro” 命名空间
- --type "srv" 服务类型
- --fqdn 服务的正式完整定义
- --alias 别名
这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。