consul 服务注册

consul 服务注册

consul 服务和user-web服务的ip地址不能一样吗?我的健康检查没有成功

http://img1.sycdn.imooc.com//climg/6077013b092d302303420252.jpg

package main

import "github.com/hashicorp/consul/api"

func Register(
address string,
port int,
name string,
tags []string,
id string,
) error {
cfg := api.DefaultConfig()
cfg.Address = "10.10.10.110:8500"

client, err := api.NewClient(cfg)
if err != nil {
panic(err.Error())
}

// 生成对象的检查对象
check := &api.AgentServiceCheck{
HTTP: "http://10.10.10.110:8021/health",
Interval: "5s",
Timeout: "5s",
DeregisterCriticalServiceAfter: "10s",
}

// 生成注册对象
registration := new(api.AgentServiceRegistration)
registration.Name = name
registration.Address = address
registration.Tags = tags
registration.ID = id
registration.Port = port
registration.Check = check

err = client.Agent().ServiceRegister(registration)
if err != nil {
panic(err.Error())
}
return nil
}

func main() {
_ = Register(
"10.10.10.110",
8021,
"user-web",
[]string{"mxshop", "go++"},
"user-web",
)
}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

可以不一样,但是你要确保你能在consul容器中能ping通 

10.10.10.110

 这个ip才行

  • qq_蓝笑灵晨_0 提问者 #1

    我的consul没有运行在容器中,就运行在我mac本地环境中

    2021-04-17 14:55:17
  • qq_蓝笑灵晨_0 提问者 #2

    我没有使用docker 

    2021-04-17 14:55:46
  • bobby 回复 提问者 qq_蓝笑灵晨_0 #3

    那就更没有问题了, 你在本地直接ping 

    10.10.10.110

    能ping通吗? 这个ip地址能ping通吗?如果能ping通是不是开启了防火墙了?关闭防火墙试试

    2021-04-17 15:25:15
提问者 qq_蓝笑灵晨_0 2021-04-17 15:36:59

我在8021那个服务把那个/health路由加上就好了,我没有使用docker 

http://img1.sycdn.imooc.com//climg/607a900009040b6510880605.jpg

http://img1.sycdn.imooc.com//climg/607a901a0991ebd504600271.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师