Python 通过Consul 融入Spring Cloud 微服务体系, 超简单教程

首先, 下载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上, 发现这个服务已经注册上了

Python 通过Consul 融入Spring Cloud 微服务体系, 超简单教程_第1张图片

我们点击这个服务,可以看到我们注册时填的信息

Python 通过Consul 融入Spring Cloud 微服务体系, 超简单教程_第2张图片

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

你可能感兴趣的:(python,spring,consul)