consul 一定要放到虚拟机里吗

来源:26-6 第三方库实现服务注册

慕侠9157770

2021-09-21

老师, 我全套的setup都放到本地里了, go, python, consul, 但是所有的注册都fail了吗, 用了本地的对外接口

# c = consul.Consul(host="192.168.1.103")
c = consul.Consul(host= "192.168.1.186") #本地的对外ip
# 基于consul的 就更少一点了
address = "192.168.1.186"
# address = "127.0.0.1"
port = 50051
check={
    "GRPC":f"{address}:{port}",
    "GRPCUseTLS": False,
    "Timeout": "5s",
    "Interval": "5s",
    "DeregisterCriticalServiceAfter": "15s"
}
if __name__ == "__main__":
    rsp = c.agent.service.register(name="user-srv", service_id="user-srv2",
                         address=address, port=port, tags=["mxshop"],check=check)
    print(rsp)

但是所有的服务注册都fail了, 请问我一定要放到虚拟机里吗?

写回答

2回答

bobby

2021-09-23

你这里注册失败是说无法注册到consul中还是说能注册到consul中,但是consul健康检查会失败?

0
6
bobby
回复
只是为了好玩
如果要学docker的话一定需要知道docker的网络原理,否则出现问题很头疼,运维的东西其中一道门槛就是网络各种配置,还有就是你要把windows的防火墙给关了
2022-06-28
共6条回复

南森_

2021-09-21

我之前也都放到一起了,是可以的。

两个建议

1:如果你用公网IP,你的50051端口,必须关闭防火墙。外面也可以访问

2:你换成你的私网IP,127.0.0.1,好像不行,我试过,我用的阿里云的私网IP也是可以。

0
1
只是为了好玩
我之前第一遍做完项目用阿里云公网 ip可以,现在用私网ip 不行。部署在虚拟机容器里。
2022-06-20
共1条回复

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程