从 consul 上获取到 hosts
时间: 2024-06-08 18:10:00 浏览: 189
consul(windows下持久化)
要从 Consul 上获取 hosts,需要使用 Consul 的 API。以下是一个简单的示例代码,可以从 Consul 获取名为 `my-service` 的服务的所有 IP 地址:
```python
import requests
# 从 Consul 获取服务的 IP 地址
def get_service_ips(service_name):
url = f'http://localhost:8500/v1/catalog/service/{service_name}'
response = requests.get(url)
response.raise_for_status()
services = response.json()
return [service['ServiceAddress'] for service in services]
# 获取名为 my-service 的服务的 IP 地址
service_ips = get_service_ips('my-service')
print(service_ips)
```
其中,`get_service_ips` 函数使用了 Consul 的 API,从 Consul 获取指定服务的所有 IP 地址,并返回一个 IP 列表。你需要将 `localhost:8500` 替换为你自己的 Consul 地址。
阅读全文