在Consul注册服务时,我需要通过Address
。但要做到这一点,我首先需要知道这个地址。如果您有多个网络接口,这并不总是一项微不足道的任务。
有没有办法从请求本身使用源地址?无论来自何处,只需获取源地址并使用它
答案 0 :(得分:1)
服务目录是...目录,任何查询目录的人都可以访问注册服务的地址。
我不相信这有自动解决方案,但您可以:
使用不同网络接口的不同标签多次注册服务,查询相关标签。
使用不同的服务名称为不同的网络接口多次注册服务。例如(myservice-lan1,myservice-lan2)。查询相关的服务名称。
运行多个consul集群,使用不同的数据中心进行设置,并将每个子网用作不同的数据中心。