feat: support ephemeral

pull/1718/head
fishtailfu 2 weeks ago
parent 7e755c046e
commit f6ac5eca36

@ -70,6 +70,10 @@ public class NacosConfigModifier implements PolarisConfigModifier {
* nacos cluster.
*/
public static final String NACOS_CLUSTER = "nacos.cluster";
/**
* nacos ephemeral.
*/
public static final String NACOS_EPHEMERAL = "nacos.ephemeral";
private static final Logger LOGGER = LoggerFactory.getLogger(NacosConfigModifier.class);
private static final String ID = "nacos";
private final NacosContextProperties nacosContextProperties;
@ -143,6 +147,7 @@ public class NacosConfigModifier implements PolarisConfigModifier {
if (StringUtils.isNotBlank(nacosContextProperties.getServiceName())) {
metadata.put(NACOS_SERVICE, nacosContextProperties.getServiceName());
}
metadata.put(NACOS_EPHEMERAL, String.valueOf(nacosContextProperties.isEphemeral()));
configuration.getGlobal().getServerConnectors().add(serverConnectorConfig);
DiscoveryConfigImpl discoveryConfig = new DiscoveryConfigImpl();
discoveryConfig.setServerConnectorId(ID);

@ -60,6 +60,11 @@ public class NacosContextProperties {
*/
@Value("${spring.cloud.nacos.discovery.server-addr:}")
private String serverAddr;
/**
* nacos discovery server address.
*/
@Value("${spring.cloud.nacos.discovery.ephemeral:false}")
private boolean ephemeral;
/**
* the nacos authentication username.
@ -177,7 +182,13 @@ public class NacosContextProperties {
this.namespace = namespace;
}
public boolean isEphemeral() {
return ephemeral;
}
public void setEphemeral(boolean ephemeral) {
this.ephemeral = ephemeral;
}
String getServiceName() {
return serviceName;
}

@ -114,6 +114,12 @@
"sourceType": "com.tencent.cloud.polaris.extend.nacos.NacosContextProperties",
"defaultValue": false
},
{
"name": "spring.cloud.nacos.discovery.ephemeral",
"type": "java.lang.Boolean",
"sourceType": "com.tencent.cloud.polaris.extend.nacos.NacosContextProperties",
"defaultValue": false
},
{
"name": "spring.cloud.nacos.discovery.group",
"type": "java.lang.String",

@ -17,7 +17,6 @@
package com.tencent.cloud.polaris.router.config.properties;
import com.tencent.polaris.api.rpc.MetadataFailoverType;
import com.tencent.polaris.plugins.router.metadata.FailOverType;
import org.springframework.boot.context.properties.ConfigurationProperties;

Loading…
Cancel
Save