python consul_python使用consul进行服务注册和发现

本文介绍了如何通过Docker安装启动Consul集群,接着展示了使用Python的consul-python库进行服务注册和发现的步骤,包括服务注册函数和获取服务的方法。此外,还提及了Golang实现相同功能的代码片段,并提到了通过API查询服务健康状态的HTTP请求示例。
摘要由CSDN通过智能技术生成

一、安装启动consul

1.通过docker快速安装

#获取docker镜像

docker pull consul

2.启动consul

然后就可以启动集群了,这里启动4个Consul Agent,3个Server(会选举出一个leader),1个Client

copycode.gif

#启动第1个Server节点,集群要求要有3个Server,将容器8500端口映射到主机8900端口,同时开启管理界面

docker run -d --name=consul1 -p 8900:8500 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --bootstrap-expect=3 --client=0.0.0.0 -ui#启动第2个Server节点,并加入集群

docker run -d --name=consul2 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2

#启动第3个Server节点,并加入集群

docker run -d --name=consul3 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=true --client=0.0.0.0 --join 172.17.0.2

#启动第4个Client节点,并加入集群

docker run -d --name=consul4 -e CONSUL_BIND_INTERFACE=eth0 consul agent --server=false --client=0.0.0.0 --join 172.17.0.2

copycode.gif

第1个启动容器的IP一般是172.17.0.2,后边启动的几个容器IP会排着来:172.17.0.3、172.17.0.4、172.17.0.5。

这些Consul节点在Docker的容器内是互通的,他们通过桥接的模式通信。但是如果主机要访问容器内的网络,需要做端口映射。在启动第一个容器时,将Consul的8500端口映射到了主机的8900端口,这样就可以方便的通过主机的浏览器查看集群信息。

二、python服务注册

copycode.gif

#pip install python-consul

importconsulclassConsul(object):def __init__(self, host, port):'''初始化,连接consul服务器'''self._consul=consul.Consul(host, port)def RegisterService(self, name, host, port, tags=None):

tags= tags or[]#注册服务

self._consul.agent.service.register(

name,

name,

host,

port,

tags,#健康检查ip端口,检查时间:5,超时时间&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值