From abdd0d29cbd42d4385a8b800366e8fcc3ac9285b Mon Sep 17 00:00:00 2001 From: horizonzy <1060026287@qq.com> Date: Fri, 18 Dec 2020 11:02:10 +0800 Subject: [PATCH 1/7] upgrade nacos-client version --- spring-cloud-alibaba-dependencies/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 7dc87d31..61c35ecc 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -21,7 +21,7 @@ 2.2.4-SNAPSHOT 1.8.0 1.3.0 - 1.3.3 + 1.4.0 0.8.0 1.0.10 From 0e388707352bcda94a41d67100e28c0a2eaa10fc Mon Sep 17 00:00:00 2001 From: horizonzy <1060026287@qq.com> Date: Mon, 21 Dec 2020 22:06:17 +0800 Subject: [PATCH 2/7] fix nacos heart beat unit, second to millisecond. --- .../alibaba/cloud/nacos/registry/NacosRegistration.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java index 75912ca4..151f7ed8 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java @@ -19,6 +19,7 @@ package com.alibaba.cloud.nacos.registry; import java.net.URI; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; import javax.annotation.PostConstruct; @@ -99,15 +100,15 @@ public class NacosRegistration implements Registration, ServiceInstance { if (null != nacosDiscoveryProperties.getHeartBeatInterval()) { metadata.put(PreservedMetadataKeys.HEART_BEAT_INTERVAL, - nacosDiscoveryProperties.getHeartBeatInterval().toString()); + String.valueOf(TimeUnit.SECONDS.toMillis(nacosDiscoveryProperties.getHeartBeatInterval()))); } if (null != nacosDiscoveryProperties.getHeartBeatTimeout()) { metadata.put(PreservedMetadataKeys.HEART_BEAT_TIMEOUT, - nacosDiscoveryProperties.getHeartBeatTimeout().toString()); + String.valueOf(TimeUnit.SECONDS.toMillis(nacosDiscoveryProperties.getHeartBeatTimeout()))); } if (null != nacosDiscoveryProperties.getIpDeleteTimeout()) { metadata.put(PreservedMetadataKeys.IP_DELETE_TIMEOUT, - nacosDiscoveryProperties.getIpDeleteTimeout().toString()); + String.valueOf(TimeUnit.SECONDS.toMillis(nacosDiscoveryProperties.getIpDeleteTimeout()))); } customize(registrationCustomizers, this); } From 802958b21880acffa9e8902710ea41b96f698795 Mon Sep 17 00:00:00 2001 From: horizonzy <1060026287@qq.com> Date: Wed, 23 Dec 2020 09:51:42 +0800 Subject: [PATCH 3/7] Revert "fix nacos heart beat unit, second to millisecond." This reverts commit 0e388707 --- .../alibaba/cloud/nacos/registry/NacosRegistration.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java index 151f7ed8..75912ca4 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosRegistration.java @@ -19,7 +19,6 @@ package com.alibaba.cloud.nacos.registry; import java.net.URI; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; import javax.annotation.PostConstruct; @@ -100,15 +99,15 @@ public class NacosRegistration implements Registration, ServiceInstance { if (null != nacosDiscoveryProperties.getHeartBeatInterval()) { metadata.put(PreservedMetadataKeys.HEART_BEAT_INTERVAL, - String.valueOf(TimeUnit.SECONDS.toMillis(nacosDiscoveryProperties.getHeartBeatInterval()))); + nacosDiscoveryProperties.getHeartBeatInterval().toString()); } if (null != nacosDiscoveryProperties.getHeartBeatTimeout()) { metadata.put(PreservedMetadataKeys.HEART_BEAT_TIMEOUT, - String.valueOf(TimeUnit.SECONDS.toMillis(nacosDiscoveryProperties.getHeartBeatTimeout()))); + nacosDiscoveryProperties.getHeartBeatTimeout().toString()); } if (null != nacosDiscoveryProperties.getIpDeleteTimeout()) { metadata.put(PreservedMetadataKeys.IP_DELETE_TIMEOUT, - String.valueOf(TimeUnit.SECONDS.toMillis(nacosDiscoveryProperties.getIpDeleteTimeout()))); + nacosDiscoveryProperties.getIpDeleteTimeout().toString()); } customize(registrationCustomizers, this); } From 447171de80cd5b1ea3eb87b4b29d0f4d5db2386a Mon Sep 17 00:00:00 2001 From: horizonzy <1060026287@qq.com> Date: Wed, 23 Dec 2020 10:09:26 +0800 Subject: [PATCH 4/7] modify the heart beat doc unit. second -> millisecond --- .../com/alibaba/cloud/nacos/NacosDiscoveryProperties.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 3ee047b4..632448db 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java @@ -183,17 +183,17 @@ public class NacosDiscoveryProperties { private String secretKey; /** - * Heart beat interval. Time unit: second. + * Heart beat interval. Time unit: millisecond. */ private Integer heartBeatInterval; /** - * Heart beat timeout. Time unit: second. + * Heart beat timeout. Time unit: millisecond. */ private Integer heartBeatTimeout; /** - * Ip delete timeout. Time unit: second. + * Ip delete timeout. Time unit: millisecond. */ private Integer ipDeleteTimeout; From 71036479a1ac3f84d04d2fdc81faff178f3dc88b Mon Sep 17 00:00:00 2001 From: horizonzy <1060026287@qq.com> Date: Wed, 23 Dec 2020 12:58:09 +0800 Subject: [PATCH 5/7] update test heart beat param value --- .../nacos/registry/NacosAutoServiceRegistrationTests.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java index 9ae2cff9..3da9899c 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java @@ -69,9 +69,9 @@ import static org.springframework.boot.test.context.SpringBootTest.WebEnvironmen "spring.cloud.nacos.discovery.accessKey=test-accessKey", "spring.cloud.nacos.discovery.ip=8.8.8.8", "spring.cloud.nacos.discovery.secretKey=test-secretKey", - "spring.cloud.nacos.discovery.heart-beat-interval=3", - "spring.cloud.nacos.discovery.heart-beat-timeout=6", - "spring.cloud.nacos.discovery.ip-delete-timeout=9" }, + "spring.cloud.nacos.discovery.heart-beat-interval=3000", + "spring.cloud.nacos.discovery.heart-beat-timeout=6000", + "spring.cloud.nacos.discovery.ip-delete-timeout=9000" }, webEnvironment = RANDOM_PORT) public class NacosAutoServiceRegistrationTests { From 076a1648a25553e43a3bbd20a51c87e4721e0ce2 Mon Sep 17 00:00:00 2001 From: horizonzy <1060026287@qq.com> Date: Wed, 23 Dec 2020 13:08:49 +0800 Subject: [PATCH 6/7] update test heart beat param value --- .../nacos/registry/NacosAutoServiceRegistrationTests.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java index 3da9899c..1fbac697 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/test/java/com/alibaba/cloud/nacos/registry/NacosAutoServiceRegistrationTests.java @@ -186,15 +186,15 @@ public class NacosAutoServiceRegistrationTests { } private void checkoutNacosDiscoveryHeartBeatInterval() { - assertThat(properties.getHeartBeatInterval()).isEqualTo(Integer.valueOf(3)); + assertThat(properties.getHeartBeatInterval()).isEqualTo(Integer.valueOf(3000)); } private void checkoutNacosDiscoveryHeartBeatTimeout() { - assertThat(properties.getHeartBeatTimeout()).isEqualTo(Integer.valueOf(6)); + assertThat(properties.getHeartBeatTimeout()).isEqualTo(Integer.valueOf(6000)); } private void checkoutNacosDiscoveryIpDeleteTimeout() { - assertThat(properties.getIpDeleteTimeout()).isEqualTo(Integer.valueOf(9)); + assertThat(properties.getIpDeleteTimeout()).isEqualTo(Integer.valueOf(9000)); } private void checkoutNacosDiscoveryServiceName() { From b264579012518275855a016adeb14452fd51f6f1 Mon Sep 17 00:00:00 2001 From: chenglu <1285823170@qq.com> Date: Thu, 7 Jan 2021 17:48:57 +0800 Subject: [PATCH 7/7] update the Nacos instance by real group name, not use the default group name --- .../cloud/nacos/registry/NacosServiceRegistry.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java index ad5f1a12..97ab7310 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java @@ -40,7 +40,11 @@ import static org.springframework.util.ReflectionUtils.rethrowRuntimeException; * @author eshun */ public class NacosServiceRegistry implements ServiceRegistry { - + + private static final String STATUS_UP = "UP"; + + private static final String STATUS_DOWN = "DOWN"; + private static final Logger log = LoggerFactory.getLogger(NacosServiceRegistry.class); private final NacosDiscoveryProperties nacosDiscoveryProperties; @@ -119,7 +123,7 @@ public class NacosServiceRegistry implements ServiceRegistry { @Override public void setStatus(Registration registration, String status) { - if (!"UP".equalsIgnoreCase(status) && !"DOWN".equalsIgnoreCase(status)) { + if (!STATUS_UP.equalsIgnoreCase(status) && !STATUS_DOWN.equalsIgnoreCase(status)) { log.warn("can't support status {},please choose UP or DOWN", status); return; } @@ -128,7 +132,7 @@ public class NacosServiceRegistry implements ServiceRegistry { Instance instance = getNacosInstanceFromRegistration(registration); - if ("DOWN".equalsIgnoreCase(status)) { + if (STATUS_DOWN.equalsIgnoreCase(status)) { instance.setEnabled(false); } else { @@ -138,7 +142,7 @@ public class NacosServiceRegistry implements ServiceRegistry { try { Properties nacosProperties = nacosDiscoveryProperties.getNacosProperties(); nacosServiceManager.getNamingMaintainService(nacosProperties) - .updateInstance(serviceId, instance); + .updateInstance(serviceId, nacosDiscoveryProperties.getGroup(), instance); } catch (Exception e) { throw new RuntimeException("update nacos instance status fail", e);