gpt4 book ai didi

领事:有多少代理服务

转载 作者:行者123 更新时间:2023-12-04 06:30:29 26 4
gpt4 key购买 nike

我正在玩 Docker 和 Consul,我有几个关于代理服务映射的问题,尤其是在 docker 环境中。假设我有一个服务名称“myGreatService”,它是用名为“myGreatServiceImage”的 docker 图像封装的简单 Web nodejs helloworld 应用程序。从领事文档我确实了解到,当您注册服务(通过 HTTP 或服务定义文件)时,服务将“连接”到代理/领事节点(可以通过/v1/catalog/service/检索有线节点) .因此,如果领事节点关闭(或节点健康检查确定它已关闭),那么“连接​​”到该领事节点的所有服务将自动标记为关闭。我对吗 ?

如果我通过 docker 在单个主机上多次运行我的 GreatServiceImage 图像(“myGreatService”服务的多个实例的结果)我应该运行多少代理?每个主机一个管理该主机上的所有容器(所有服务实例)?或者每个容器(服务实例)的单独代理?

最佳答案

如果服务的健康检查失败,则该服务将被标记为已关闭,如果您对该服务进行 DNS 查询,则该服务将不会显示

dig @localhost -p 8500 apache.service.consul

如果您调用 api,您会看到该服务仍然在列表中。这是因为服务没有被删除,它只是被标记为关闭。如果您要执行 API 调用来检查该服务的运行状况,它将显示为关闭。

curl localhost/v1/catalog/service/apache
curl localhost/v1/health/service/apache

您可以将 ?passing 标志添加到最后一次调用以仅接收健康服务。 (就像 dns 查询一样)

curl localhost/v1/health/service/apache?passing

如果主机上的 consul 代理失败,那么当您向 consul 查询服务时,该主机上运行的所有服务都不会显示。 (通过 dns 查询或通过 api)。

至于你应该运行的代理数量:每台主机运行一个领事代理。让您的服务通过您本地的领事代理人的 API 自行注册。 (或者在配置文件中预先配置你所有的服务,但我建议你让它成为一个 self 注册的动态过程)

关于领事:有多少代理服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29168894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com