feat(nacos): nacos support hostname
Describe what this PR does / why we need it
support the nacos to register service with hostname
Does this pull request fix one issue?
releated issue #1403
Describe how you did it
- nacos NacosDiscoveryProperties.java add preferIpAddress property
- if ! preferIpAddress, transfer ip to hostname
Describe how to verify it
Special notes for reviews
By the way, please modify relevant document in examples and docs module.
By the way, please modify relevant document in examples and docs module.
ok
@steverao I want to have the effect like this.
set the preferIpAddress false, the nacos instance's IP to be hostname
我试图理解一下你的场景,
- 你编辑了服务器的host文件,增加了hostname配置
- SCA这边的服务注册默认是读取的服务器第一个回环地址进行注册,未读取到你服务器host文件配置的hostname进行注册
如果是这样的场景,与其你每台服务器都去修改服务器host文件,不如用spring.cloud.nacos.discovery.ip这个配置项进行系统环境变量来配置是不是也可以达到你想要的效果?
我试图理解一下你的场景,
- 你编辑了服务器的host文件,增加了hostname配置
- SCA这边的服务注册默认是读取的服务器第一个回环地址进行注册,未读取到你服务器host文件配置的hostname进行注册
如果是这样的场景,与其你每台服务器都去修改服务器host文件,不如用spring.cloud.nacos.discovery.ip这个配置项进行系统环境变量来配置是不是也可以达到你想要的效果?
这个不只是改hostname的场景,k8s里,ip会变,而同一个服务的hostname是不会变的。还有不同的环境,hostname在系统初始化的时候是可以定好的,但是ip地址是不一样的。这个只是个别场景会用到。第次部署的时候都是设置discovery.ip就很麻烦。
我试图理解一下你的场景,
- 你编辑了服务器的host文件,增加了hostname配置
- SCA这边的服务注册默认是读取的服务器第一个回环地址进行注册,未读取到你服务器host文件配置的hostname进行注册
如果是这样的场景,与其你每台服务器都去修改服务器host文件,不如用spring.cloud.nacos.discovery.ip这个配置项进行系统环境变量来配置是不是也可以达到你想要的效果?
这个不只是改hostname的场景,k8s里,ip会变,而同一个服务的hostname是不会变的。还有不同的环境,hostname在系统初始化的时候是可以定好的,但是ip地址是不一样的。这个只是个别场景会用到。第次部署的时候都是设置discovery.ip就很麻烦。
环境变量配置spring.cloud.nacos.discovery.ip=hostname 是否可以?
我试图理解一下你的场景,
- 你编辑了服务器的host文件,增加了hostname配置
- SCA这边的服务注册默认是读取的服务器第一个回环地址进行注册,未读取到你服务器host文件配置的hostname进行注册
如果是这样的场景,与其你每台服务器都去修改服务器host文件,不如用spring.cloud.nacos.discovery.ip这个配置项进行系统环境变量来配置是不是也可以达到你想要的效果?
这个不只是改hostname的场景,k8s里,ip会变,而同一个服务的hostname是不会变的。还有不同的环境,hostname在系统初始化的时候是可以定好的,但是ip地址是不一样的。这个只是个别场景会用到。第次部署的时候都是设置discovery.ip就很麻烦。
环境变量配置spring.cloud.nacos.discovery.ip=hostname 是否可以?
发布多个服务,还要改设置不同的值,这个主要是为了配置方便。直接设置当然可以解决问题
@steverao 我重新整理了一下代码,这个pr的目的是用hostname去注册service. nacos原来是用ip注册的,所以我改了一下配置的名称。你看一下是否ok
@steverao 我重新整理了一下代码,这个pr的目的是用hostname去注册service. nacos原来是用ip注册的,所以我改了一下配置的名称。你看一下是否ok
我们目前其实,可以通过spring.cloud.nacos.discovery.ip=alibaba.com去注册域名。感觉意义不是特别大,如果想参与社区贡献,可以加我钉钉steverao2021.

@steverao 我重新整理了一下代码,这个pr的目的是用hostname去注册service. nacos原来是用ip注册的,所以我改了一下配置的名称。你看一下是否ok
我们目前其实,可以通过
spring.cloud.nacos.discovery.ip=alibaba.com去注册域名。感觉意义不是特别大,如果想参与社区贡献,可以加我钉钉steverao2021.
这样是可以实现,我上面也说了,可以这样配置,主要是配置不太方便。有些情况下,还只能用domain, 每个服务都设置,就不如直接设置hostname方便。刚加了你钉钉。