首先, 下载consulate包
pip install consulate
接下来用这个包接入Spring Cloud 微服务体系
1. 导包
from consulate import Consul
2. 连接Consul服务器, host, port填Consul的主机, 端口
consul = Consul(host=host, port=port)
3. 注册服务, 参数解释:
1. name为注册的服务名
2. service_id是服务的id, 因为每个服务的端口是不一样的,建议带上端口号
3. address, port填上python后台的ip和port,
4. tags根据项目需要填写,也可以不填
5. interval默认填5
6. httpcheck,python后台提供的一个url, 这个url接受get请求返回个ok就行
consul.agent.service.register(name=name, service_id=service_id,
address=address, port=port, tags=tags,
interval=interval, httpcheck=httpcheck)
4. 接下来写python后台的代码, 无论是用flask, django或者别的框架, 只要ip,port与注册服务填的address, port一致就行
例我注册了一个名为python的服务, id是python-8080, python后台起在192.168.1.44:8080上, httpcheck填的http://192.168.1.44:8080/actuator/health/, 程序跑起来后, 去Consul上, 发现这个服务已经注册上了
我们点击这个服务,可以看到我们注册时填的信息
5. 访问其他服务, service_name传入其他服务的服务名, ip, port则是其他服务的地址端口, 接下来拿着这个ip和port去访问其他服务就行了
other_service = consul.agent.services()[0][service_name]
ip, port = other_service['Address'], other_service['port']
是不是很简单呢,如果想要将consulate 这个包封装的更易于使用, 请参考此链接https://www.cnblogs.com/wudimanong/p/10943825.html