gpt4 book ai didi

consul - Consul 服务定义地址和服务地址的区别

转载 作者:行者123 更新时间:2023-12-04 08:22:06 27 4
gpt4 key购买 nike

Consul服务定义json如下

{
"Address": "192.168.10.10",
"TaggedAddresses": {
"lan": "192.168.10.10",
"wan": "10.0.10.10"
},
"CreateIndex": 51,
"ModifyIndex": 51,
"Node": "foobar",
"ServiceAddress": "172.17.0.3",
"ServiceEnableTagOverride": false,
"ServiceID": "32a2a47f7992:nodea:5000",
"ServiceName": "foobar",
"ServicePort": 5000,
"ServiceTags": [
"tacos"
]
}

现在根据 https://www.consul.io/docs/agent/http/catalog.html#catalog_service 提供的文档

地址和服务地址的定义如下:
  • 地址 : 服务所在的 Consul 节点的 IP 地址
    已注册
  • 服务地址 : 服务主机的IP地址——如果为空,节点
    地址应使用

  • A. 是不是说Address是consul server节点的地址,service address是service所在节点的地址?



    B. 这是否意味着地址是驻留在服务中的领事代理的地址。如果是这种情况,这是否意味着地址和服务地址相同?

    以上哪个是正确的?

    最佳答案

    我想,该地址是领事代理的地址,而 ServiceAddress 是用于访问此服务的地址。这可以是相同的地址,但也可以不同。

    例如,您可以拥有一个带有多个接口(interface)的主机,其中一个用于使 Consul 代理相互交互,另一个用于访问您的服务。

    或者,您可以拥有一个带有多个使用 Docker 部署的微服务的单个节点。您可以使用该节点的地址启动单个 Consul Agent,并注册许多在容器中运行并通过容器内部 IP 地址相互通信的微服务。在这种情况下,您将获得服务信息,其中 Address 等于节点的 IP,ServiceAddress 等于具有服务的容器的 IP。

    关于consul - Consul 服务定义地址和服务地址的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40756293/

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