From f6119acf390efa74fe04894b2f713baf15c2db4e Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Mon, 2 Sep 2024 14:41:38 +0800 Subject: [PATCH 01/23] feat: use schedulerX --- mse-simple-demo/A/pom.xml | 23 +++++++++++++++++++ .../mse/demo/a/SchedulerXJob.java | 14 +++++++++++ .../src/main/resources/application.properties | 5 ++++ 3 files changed, 42 insertions(+) create mode 100644 mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index 2cc6af8f..baf50917 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -20,9 +20,32 @@ 2.1.1.RELEASE 2.7.23 4.5.0 + 1.11.5 + + + com.aliyun.schedulerx + schedulerx2-spring-boot-starter + ${schedulerx2.version} + + + + org.apache.logging.log4j + log4j-api + + + org.apache.logging.log4j + log4j-core + + + log4j + log4j + + + + org.springframework.boot spring-boot-starter diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java new file mode 100644 index 00000000..5c82e4c9 --- /dev/null +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -0,0 +1,14 @@ +package com.alibabacloud.mse.demo.a; + +import com.alibaba.schedulerx.worker.domain.JobContext; +import com.alibaba.schedulerx.worker.processor.JavaProcessor; +import com.alibaba.schedulerx.worker.processor.ProcessResult; + +@Component +public class SchedulerXJob extends JavaProcessor { + @Override + public ProcessResult process(JobContext context) throws Exception { + System.out.println("hello schedulerx2.0"); + return new ProcessResult(true); + } +} \ No newline at end of file diff --git a/mse-simple-demo/A/src/main/resources/application.properties b/mse-simple-demo/A/src/main/resources/application.properties index 91aeb056..d7e19790 100644 --- a/mse-simple-demo/A/src/main/resources/application.properties +++ b/mse-simple-demo/A/src/main/resources/application.properties @@ -25,3 +25,8 @@ middleware.mq.address=mqnamesrv:9876 custom.config.value=base springfox.documentation.auto-startup=false + +spring.schedulerx2.endpoint=addr-sz-internal.edas.aliyun.com +spring.schedulerx2.namespace=774626c5-bb29-49e9-8df9-93628f7e9a00 +spring.schedulerx2.groupId=gov-mse-simple-demo-sx +spring.schedulerx2.appKey=6PHLVkFxNxRDiatXfmPjkgA From 134f96c4f22986c3230d5c63c938df7ed9df2801 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Mon, 2 Sep 2024 16:28:14 +0800 Subject: [PATCH 02/23] feat: update schedule logic --- .../com/alibabacloud/mse/demo/a/SchedulerXJob.java | 12 ++++++++++-- .../templates/spring-cloud-a-gray-deployment.yaml | 2 ++ mse-simple-demo/helm/mse-simple-demo/values.yaml | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java index 5c82e4c9..bc4d72e0 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -3,12 +3,20 @@ import com.alibaba.schedulerx.worker.domain.JobContext; import com.alibaba.schedulerx.worker.processor.JavaProcessor; import com.alibaba.schedulerx.worker.processor.ProcessResult; +import com.alibabacloud.mse.demo.a.AController; -@Component +@Controller public class SchedulerXJob extends JavaProcessor { + @Autowired + private AController aController; + @Override public ProcessResult process(JobContext context) throws Exception { - System.out.println("hello schedulerx2.0"); + System.out.println(context); + + String result = aController.a(); + System.out.println(result) + return new ProcessResult(true); } } \ No newline at end of file diff --git a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml index 1d3de303..3b4dda55 100644 --- a/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/templates/spring-cloud-a-gray-deployment.yaml @@ -16,6 +16,8 @@ spec: type: RollingUpdate template: metadata: + annotations: + alicloud.service.tag: gray labels: msePilotAutoEnable: "on" msePilotCreateAppName: "spring-cloud-a" diff --git a/mse-simple-demo/helm/mse-simple-demo/values.yaml b/mse-simple-demo/helm/mse-simple-demo/values.yaml index c9b1369f..3d901e21 100644 --- a/mse-simple-demo/helm/mse-simple-demo/values.yaml +++ b/mse-simple-demo/helm/mse-simple-demo/values.yaml @@ -6,8 +6,8 @@ images: # 是否启动zuul、springcloud网关 gateway: - zuul: false - springcloud: true + zuul: true + springcloud: false mse: ingress: false From fe9428e0d522eed5ec7f31b7340bdff2853b9790 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Mon, 2 Sep 2024 16:30:38 +0800 Subject: [PATCH 03/23] feat: scheduler k8s dep --- mse-simple-demo/A/pom.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index baf50917..8e23d0a9 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -21,6 +21,7 @@ 2.7.23 4.5.0 1.11.5 + 1.0.7 @@ -45,7 +46,11 @@ - + + com.aliyun.schedulerx + schedulerx2-plugin-kubernetes + ${schedulerx2-plugin-kubernetes.version} + org.springframework.boot spring-boot-starter From 5158a1e9a6f6d694cc107d733ed857f76a8e56f6 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Mon, 2 Sep 2024 16:32:10 +0800 Subject: [PATCH 04/23] fix: component --- .../main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java index bc4d72e0..1ce0f4be 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -1,11 +1,12 @@ package com.alibabacloud.mse.demo.a; +import org.springframework.stereotype.Component; import com.alibaba.schedulerx.worker.domain.JobContext; import com.alibaba.schedulerx.worker.processor.JavaProcessor; import com.alibaba.schedulerx.worker.processor.ProcessResult; import com.alibabacloud.mse.demo.a.AController; -@Controller +@Component public class SchedulerXJob extends JavaProcessor { @Autowired private AController aController; From 76176a1221896c1c68de5c8c4a40be74662fd34c Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Mon, 2 Sep 2024 16:34:46 +0800 Subject: [PATCH 05/23] fix: component --- .../main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java index 1ce0f4be..497687b8 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -16,7 +16,7 @@ public ProcessResult process(JobContext context) throws Exception { System.out.println(context); String result = aController.a(); - System.out.println(result) + System.out.println(result); return new ProcessResult(true); } From 5f9a88626d4bb07d96348a368edb86e41eb2fd02 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 11:40:50 +0800 Subject: [PATCH 06/23] feat: add nacos gray config --- mse-simple-demo/A/pom.xml | 11 +++++++++++ .../java/com/alibabacloud/mse/demo/a/AController.java | 7 +++++++ .../com/alibabacloud/mse/demo/a/SchedulerXJob.java | 1 + .../A/src/main/resources/application.properties | 2 ++ 4 files changed, 21 insertions(+) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index 8e23d0a9..e9ff4131 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -51,10 +51,21 @@ schedulerx2-plugin-kubernetes ${schedulerx2-plugin-kubernetes.version} + + com.aliyun.schedulerx + schedulerx-plugin-trace-opentelemetry + 1.0.6 + org.springframework.boot spring-boot-starter + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java index 3ab7a29d..a5bedcfe 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java @@ -33,6 +33,7 @@ @Api(value = "/", tags = {"入口应用"}) @RestController +@RefreshScope class AController { private static final Logger log = LoggerFactory.getLogger(AController.class); @@ -254,4 +255,10 @@ public String dubbo_circuit_breaker_exception() { } return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + " -> " + response; } + + @ApiOperation(value = "Nacos灰度配置", tags = {"入口应用"}) + @RequestMapping("/custom-config") + public String a() throws ExecutionException, InterruptedException { + return this.configValue; + } } diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java index 497687b8..9032f1e7 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -5,6 +5,7 @@ import com.alibaba.schedulerx.worker.processor.JavaProcessor; import com.alibaba.schedulerx.worker.processor.ProcessResult; import com.alibabacloud.mse.demo.a.AController; +import org.springframework.beans.factory.annotation.Autowired; @Component public class SchedulerXJob extends JavaProcessor { diff --git a/mse-simple-demo/A/src/main/resources/application.properties b/mse-simple-demo/A/src/main/resources/application.properties index d7e19790..1a3d4163 100644 --- a/mse-simple-demo/A/src/main/resources/application.properties +++ b/mse-simple-demo/A/src/main/resources/application.properties @@ -6,6 +6,8 @@ spring.application.name=sc-A server.port=20001 spring.cloud.nacos.discovery.server-addr=${nacos.host}:8848 spring.cloud.nacos.discovery.namespace=${nacos.namespace} +spring.cloud.nacos.config.server-addr=${nacos.host}:8848 +spring.cloud.nacos.config.file-extension=properties dubbo.application.id=dubbo-provider-A dubbo.application.name=dubbo-provider-A From e1225749cf5a6b980af8e5015b26dc940a5d847b Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 11:50:41 +0800 Subject: [PATCH 07/23] fix: method duplication --- mse-simple-demo/A/build.sh | 2 +- .../src/main/java/com/alibabacloud/mse/demo/a/AController.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mse-simple-demo/A/build.sh b/mse-simple-demo/A/build.sh index f804335d..93d3d25c 100755 --- a/mse-simple-demo/A/build.sh +++ b/mse-simple-demo/A/build.sh @@ -3,7 +3,7 @@ export REGISTRY=${REGISTRY} export appName=spring-cloud-a -export VERSION="${VERSION:-3.0.8}" +export VERSION="${VERSION:-3.0.8-sx}" set -e diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java index a5bedcfe..d7584c3e 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java @@ -23,6 +23,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; +import org.springframework.cloud.context.config.annotation.RefreshScope; import javax.annotation.PostConstruct; import java.io.UnsupportedEncodingException; @@ -258,7 +259,7 @@ public String dubbo_circuit_breaker_exception() { @ApiOperation(value = "Nacos灰度配置", tags = {"入口应用"}) @RequestMapping("/custom-config") - public String a() throws ExecutionException, InterruptedException { + public String getCustomConfig() throws ExecutionException, InterruptedException { return this.configValue; } } From ca74a168af3ca46bf455411319c9880831652865 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 14:36:32 +0800 Subject: [PATCH 08/23] feat: spring boot config --- mse-simple-demo/A/pom.xml | 5 +++-- .../main/java/com/alibabacloud/mse/demo/a/AApplication.java | 2 ++ .../main/java/com/alibabacloud/mse/demo/a/AController.java | 5 ++--- mse-simple-demo/A/src/main/resources/application.properties | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index e9ff4131..39deab3d 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -63,8 +63,9 @@ - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-config + com.alibaba.boot + nacos-config-spring-boot-starter + 0.2.6 com.alibaba.cloud diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java index a88fa568..ddf4c835 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java @@ -12,6 +12,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.web.client.RestTemplate; import springfox.documentation.swagger2.annotations.EnableSwagger2; +import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource; import java.io.File; import java.io.FileReader; @@ -24,6 +25,7 @@ @SpringBootApplication @EnableSwagger2 @EnableFeignClients +@NacosPropertySource(dataId = "mse-simple-demo-a", autoRefreshed = true) public class AApplication { public static void main(String[] args) { diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java index d7584c3e..a81c2236 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java @@ -23,7 +23,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; -import org.springframework.cloud.context.config.annotation.RefreshScope; +import com.alibaba.nacos.api.config.annotation.NacosValue; import javax.annotation.PostConstruct; import java.io.UnsupportedEncodingException; @@ -34,7 +34,6 @@ @Api(value = "/", tags = {"入口应用"}) @RestController -@RefreshScope class AController { private static final Logger log = LoggerFactory.getLogger(AController.class); @@ -56,7 +55,7 @@ class AController { @Autowired String serviceTag; - @Value("${custom.config.value}") + @NacosValue(value = "${custom.config.value:default}", autoRefreshed = true) private String configValue; private String currentZone; diff --git a/mse-simple-demo/A/src/main/resources/application.properties b/mse-simple-demo/A/src/main/resources/application.properties index 1a3d4163..aa59c7e5 100644 --- a/mse-simple-demo/A/src/main/resources/application.properties +++ b/mse-simple-demo/A/src/main/resources/application.properties @@ -6,8 +6,8 @@ spring.application.name=sc-A server.port=20001 spring.cloud.nacos.discovery.server-addr=${nacos.host}:8848 spring.cloud.nacos.discovery.namespace=${nacos.namespace} -spring.cloud.nacos.config.server-addr=${nacos.host}:8848 -spring.cloud.nacos.config.file-extension=properties + +nacos.config.server-addr=${nacos.host}:8848 dubbo.application.id=dubbo-provider-A dubbo.application.name=dubbo-provider-A From 40e8f8a7d7533260f4411aff29762c4707560887 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 15:00:03 +0800 Subject: [PATCH 09/23] feat: spring cloud config --- mse-simple-demo/A/pom.xml | 6 +++--- .../main/java/com/alibabacloud/mse/demo/a/AApplication.java | 2 -- .../main/java/com/alibabacloud/mse/demo/a/AController.java | 5 +++-- mse-simple-demo/A/src/main/resources/application.properties | 6 +++--- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index 39deab3d..d03aec05 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -63,9 +63,9 @@ - com.alibaba.boot - nacos-config-spring-boot-starter - 0.2.6 + org.springframework.cloud + spring-cloud-starter-alibaba-nacos-config + 2021.0.4.0 com.alibaba.cloud diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java index ddf4c835..a88fa568 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AApplication.java @@ -12,7 +12,6 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.web.client.RestTemplate; import springfox.documentation.swagger2.annotations.EnableSwagger2; -import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource; import java.io.File; import java.io.FileReader; @@ -25,7 +24,6 @@ @SpringBootApplication @EnableSwagger2 @EnableFeignClients -@NacosPropertySource(dataId = "mse-simple-demo-a", autoRefreshed = true) public class AApplication { public static void main(String[] args) { diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java index a81c2236..1408ff9c 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java @@ -23,7 +23,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; -import com.alibaba.nacos.api.config.annotation.NacosValue; +import org.springframework.cloud.context.config.annotation.RefreshScope; import javax.annotation.PostConstruct; import java.io.UnsupportedEncodingException; @@ -34,6 +34,7 @@ @Api(value = "/", tags = {"入口应用"}) @RestController +@RefreshScope class AController { private static final Logger log = LoggerFactory.getLogger(AController.class); @@ -55,7 +56,7 @@ class AController { @Autowired String serviceTag; - @NacosValue(value = "${custom.config.value:default}", autoRefreshed = true) + @Value("${configValue:default}") private String configValue; private String currentZone; diff --git a/mse-simple-demo/A/src/main/resources/application.properties b/mse-simple-demo/A/src/main/resources/application.properties index aa59c7e5..90768f70 100644 --- a/mse-simple-demo/A/src/main/resources/application.properties +++ b/mse-simple-demo/A/src/main/resources/application.properties @@ -6,8 +6,8 @@ spring.application.name=sc-A server.port=20001 spring.cloud.nacos.discovery.server-addr=${nacos.host}:8848 spring.cloud.nacos.discovery.namespace=${nacos.namespace} - -nacos.config.server-addr=${nacos.host}:8848 +spring.cloud.nacos.config.server-addr=${nacos.host}:8848 +spring.cloud.nacos.config.file-extension=properties dubbo.application.id=dubbo-provider-A dubbo.application.name=dubbo-provider-A @@ -24,7 +24,7 @@ rocketmq.consumer.topic=TEST_MQ rocketmq.consumer.group=test-a middleware.mq.address=mqnamesrv:9876 -custom.config.value=base +#custom.config.value=base springfox.documentation.auto-startup=false From e8ac254a3dde66460a9b29131f5ef0f4bf14d364 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 15:13:34 +0800 Subject: [PATCH 10/23] fix: pom --- mse-simple-demo/A/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index d03aec05..8d5f6fa4 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -63,7 +63,7 @@ - org.springframework.cloud + com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config 2021.0.4.0 From 4855e32948c42ba6111d63ab828dd2c4b9c49aa6 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 15:35:58 +0800 Subject: [PATCH 11/23] fix: config import --- mse-simple-demo/A/src/main/resources/application.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/mse-simple-demo/A/src/main/resources/application.properties b/mse-simple-demo/A/src/main/resources/application.properties index 90768f70..84651605 100644 --- a/mse-simple-demo/A/src/main/resources/application.properties +++ b/mse-simple-demo/A/src/main/resources/application.properties @@ -8,6 +8,7 @@ spring.cloud.nacos.discovery.server-addr=${nacos.host}:8848 spring.cloud.nacos.discovery.namespace=${nacos.namespace} spring.cloud.nacos.config.server-addr=${nacos.host}:8848 spring.cloud.nacos.config.file-extension=properties +spring.config.import=nacos:sc-A.properties?refreshEnabled=true dubbo.application.id=dubbo-provider-A dubbo.application.name=dubbo-provider-A From 10734db7b6497ca43ca11a78bd86ae707c4fc589 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 18:03:18 +0800 Subject: [PATCH 12/23] fix: log --- mse-simple-demo/A/pom.xml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index 8d5f6fa4..42f3d9b8 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -30,21 +30,6 @@ com.aliyun.schedulerx schedulerx2-spring-boot-starter ${schedulerx2.version} - - - - org.apache.logging.log4j - log4j-api - - - org.apache.logging.log4j - log4j-core - - - log4j - log4j - - com.aliyun.schedulerx From 3963c3f3c5522279555bfb39730953f91b145b10 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 18:20:29 +0800 Subject: [PATCH 13/23] fix: version --- mse-simple-demo/A/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index 42f3d9b8..e66f28da 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -50,7 +50,6 @@ com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config - 2021.0.4.0 com.alibaba.cloud From 44c51e0ce7c55468322c0cda6dbfa00174cb847e Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Tue, 3 Sep 2024 20:31:34 +0800 Subject: [PATCH 14/23] fix: nacos listen --- .../A/src/main/resources/application.properties | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mse-simple-demo/A/src/main/resources/application.properties b/mse-simple-demo/A/src/main/resources/application.properties index 84651605..f3602551 100644 --- a/mse-simple-demo/A/src/main/resources/application.properties +++ b/mse-simple-demo/A/src/main/resources/application.properties @@ -6,9 +6,12 @@ spring.application.name=sc-A server.port=20001 spring.cloud.nacos.discovery.server-addr=${nacos.host}:8848 spring.cloud.nacos.discovery.namespace=${nacos.namespace} + +spring.cloud.nacos.config.enable=true spring.cloud.nacos.config.server-addr=${nacos.host}:8848 -spring.cloud.nacos.config.file-extension=properties -spring.config.import=nacos:sc-A.properties?refreshEnabled=true +spring.cloud.nacos.config.data-id=sc-A.properties +spring.cloud.nacos.config.group=DEFAULT_GROUP +spring.cloud.nacos.config.refresh-enabled=true dubbo.application.id=dubbo-provider-A dubbo.application.name=dubbo-provider-A From 77c2b2d21e8d3574472e56937cf951658e1c9426 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Wed, 4 Sep 2024 11:16:12 +0800 Subject: [PATCH 15/23] fix: application start fail --- mse-simple-demo/A/pom.xml | 4 +-- .../alibabacloud/mse/demo/a/AController.java | 26 +++++++++---------- .../mse/demo/a/SchedulerXJob.java | 10 ++++--- .../src/main/resources/application.properties | 7 +---- 4 files changed, 22 insertions(+), 25 deletions(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index e66f28da..cf29bee6 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -17,8 +17,8 @@ 8 2.6.1 2021.0.4 - 2.1.1.RELEASE - 2.7.23 + 2021.0.6.0 + 3.2.14 4.5.0 1.11.5 1.0.7 diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java index 1408ff9c..d8bfe70d 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/AController.java @@ -56,7 +56,7 @@ class AController { @Autowired String serviceTag; - @Value("${configValue:default}") + @Value("${dynamicConfig:default}") private String configValue; private String currentZone; @@ -87,7 +87,7 @@ public String a() throws ExecutionException, InterruptedException { String result = restTemplate.getForObject("http://sc-B/b", String.class); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " -> " + result; } @ApiOperation(value = "HTTP 全链路灰度入口 a调用b和c", tags = {"入口应用"}) @@ -95,9 +95,9 @@ public String a() throws ExecutionException, InterruptedException { public String a2bc() throws ExecutionException, InterruptedException { String resultB = "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + restTemplate.getForObject("http://sc-B/b", String.class); + "[dynamicConfig=" + configValue + "]" + " -> " + restTemplate.getForObject("http://sc-B/b", String.class); String resultA = "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + restTemplate.getForObject("http://sc-C/c", String.class); + "[dynamicConfig=" + configValue + "]" + " -> " + restTemplate.getForObject("http://sc-C/c", String.class); return resultA + "\n" + resultB; } @@ -109,7 +109,7 @@ public String aByFeign() throws ExecutionException, InterruptedException { String result = feignClient.bByFeign("test"); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " -> " + result; } @ApiOperation(value = "测试防护规则" , tags = {"流量防护"}) @@ -121,7 +121,7 @@ public String flow() throws ExecutionException, InterruptedException { String result = responseEntity.getBody() + " code:" + status.value(); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " -> " + result; } @@ -134,7 +134,7 @@ public String params(@PathVariable("hot") String hot) throws ExecutionException, String result = responseEntity.getBody() + " code:" + status.value(); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " params:" + hot + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " params:" + hot + " -> " + result; } @ApiOperation(value = "测试隔离规则", tags = { "流量防护"}) @@ -146,7 +146,7 @@ public String isolate() throws ExecutionException, InterruptedException { String result = responseEntity.getBody() + " code:" + status.value(); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " -> " + result; } @GetMapping("/sql") @@ -161,7 +161,7 @@ public String sql(@RequestParam Map allRequestParams) throws Uns } String result = restTemplate.getForObject(url.toString(), String.class); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " -> " + result; } @ApiOperation(value = "HTTP 全链路灰度入口", tags = {"入口应用"}) @@ -214,7 +214,7 @@ public String circuit_breaker_rt() throws ExecutionException, InterruptedExcepti String result = feignClient.circuit_breaker_rt_b(); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " -> " + result; } @ApiOperation(value = "熔断异常测试" , tags = {"流量防护"}) @@ -223,7 +223,7 @@ public String circuit_breaker_exception() throws ExecutionException, Interrupted String result = feignClient.circuit_breaker_exception_b(); return "A[tag=" + serviceTag + "][" + inetUtils.findFirstNonLoopbackAddress().getHostAddress() + "]" + - "[config=" + configValue + "]" + " -> " + result; + "[dynamicConfig=" + configValue + "]" + " -> " + result; } @GetMapping("swagger-demo") @@ -258,8 +258,8 @@ public String dubbo_circuit_breaker_exception() { } @ApiOperation(value = "Nacos灰度配置", tags = {"入口应用"}) - @RequestMapping("/custom-config") - public String getCustomConfig() throws ExecutionException, InterruptedException { + @RequestMapping("/dynamic-config") + public String getDynamicConfig() throws ExecutionException, InterruptedException { return this.configValue; } } diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java index 9032f1e7..98d7365b 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -6,19 +6,21 @@ import com.alibaba.schedulerx.worker.processor.ProcessResult; import com.alibabacloud.mse.demo.a.AController; import org.springframework.beans.factory.annotation.Autowired; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @Component public class SchedulerXJob extends JavaProcessor { + private static final Logger log = LoggerFactory.getLogger(SchedulerXJob.class); + @Autowired private AController aController; @Override public ProcessResult process(JobContext context) throws Exception { - System.out.println(context); - + log.Info("shceduler x job context is: {}", context) String result = aController.a(); - System.out.println(result); - + log.Info("scheduler x job run result is: {}", result) return new ProcessResult(true); } } \ No newline at end of file diff --git a/mse-simple-demo/A/src/main/resources/application.properties b/mse-simple-demo/A/src/main/resources/application.properties index f3602551..bfa2fd14 100644 --- a/mse-simple-demo/A/src/main/resources/application.properties +++ b/mse-simple-demo/A/src/main/resources/application.properties @@ -7,11 +7,8 @@ server.port=20001 spring.cloud.nacos.discovery.server-addr=${nacos.host}:8848 spring.cloud.nacos.discovery.namespace=${nacos.namespace} -spring.cloud.nacos.config.enable=true spring.cloud.nacos.config.server-addr=${nacos.host}:8848 -spring.cloud.nacos.config.data-id=sc-A.properties -spring.cloud.nacos.config.group=DEFAULT_GROUP -spring.cloud.nacos.config.refresh-enabled=true +spring.config.import=nacos:sc-A.properties?refreshEnabled=true dubbo.application.id=dubbo-provider-A dubbo.application.name=dubbo-provider-A @@ -28,8 +25,6 @@ rocketmq.consumer.topic=TEST_MQ rocketmq.consumer.group=test-a middleware.mq.address=mqnamesrv:9876 -#custom.config.value=base - springfox.documentation.auto-startup=false spring.schedulerx2.endpoint=addr-sz-internal.edas.aliyun.com From ff0b386e89ce8b4fe39175be0c09f84e21678fff Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Wed, 4 Sep 2024 11:20:02 +0800 Subject: [PATCH 16/23] fix: ; --- .../main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java index 98d7365b..38244311 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -18,9 +18,9 @@ public class SchedulerXJob extends JavaProcessor { @Override public ProcessResult process(JobContext context) throws Exception { - log.Info("shceduler x job context is: {}", context) + log.Info("shceduler x job context is: {}", context); String result = aController.a(); - log.Info("scheduler x job run result is: {}", result) + log.Info("scheduler x job run result is: {}", result); return new ProcessResult(true); } } \ No newline at end of file From 848dbae2cdb92ad830b520fb499ebb36cd4c3c98 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Wed, 4 Sep 2024 11:25:42 +0800 Subject: [PATCH 17/23] fix: print --- .../main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java index 38244311..e6a70238 100644 --- a/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java +++ b/mse-simple-demo/A/src/main/java/com/alibabacloud/mse/demo/a/SchedulerXJob.java @@ -18,9 +18,8 @@ public class SchedulerXJob extends JavaProcessor { @Override public ProcessResult process(JobContext context) throws Exception { - log.Info("shceduler x job context is: {}", context); String result = aController.a(); - log.Info("scheduler x job run result is: {}", result); + System.out.println("[SchedulerXJob.process] scheduler x job process result is: " + result); return new ProcessResult(true); } } \ No newline at end of file From 83a0b8ddb1e6ee6e57bae1e045e2d101c0f74c87 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Thu, 5 Sep 2024 10:54:41 +0800 Subject: [PATCH 18/23] feat: update go app config --- mse-simple-demo/GoApp/service.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mse-simple-demo/GoApp/service.go b/mse-simple-demo/GoApp/service.go index 23e06ab1..c9d5c38d 100644 --- a/mse-simple-demo/GoApp/service.go +++ b/mse-simple-demo/GoApp/service.go @@ -82,7 +82,7 @@ func toApp(ctx context.Context, host string, path string) (string, error) { return "", err } - return fmt.Sprintf("GoApp[tag=%s][%s][config=%s]", tag, ip, "") + " -> " + string(b), nil + return fmt.Sprintf("GoApp[tag=%s][%s]", tag, ip) + " -> " + string(b), nil } func toA(ctx context.Context) (string, error) { From 52d0e7f280ece230750ab1e5c2050b277adcccb9 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Thu, 5 Sep 2024 11:02:57 +0800 Subject: [PATCH 19/23] chore: update nacos-client version --- mse-simple-demo/A/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index cf29bee6..49139768 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -47,6 +47,11 @@ + + com.alibaba.nacos + nacos-client + 2.3.2 + com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config From f9089259d01f8bf379818c05fed9febcc20aefe3 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Thu, 5 Sep 2024 11:04:02 +0800 Subject: [PATCH 20/23] feat: add jvm param --- mse-simple-demo/A/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mse-simple-demo/A/Dockerfile b/mse-simple-demo/A/Dockerfile index 78722245..780a2932 100644 --- a/mse-simple-demo/A/Dockerfile +++ b/mse-simple-demo/A/Dockerfile @@ -40,4 +40,4 @@ COPY --from=build /app/target/A.jar /app/target/A.jar #COPY ./target/A.jar /app/target/A.jar EXPOSE 20001 -ENTRYPOINT ["java","-jar","/app/target/A.jar"] +ENTRYPOINT ["java","-Dnacos.config.gray.label=","-jar","/app/target/A.jar"] From 1b635ea93b864d73cd0b38627d8a20b9ac257e6e Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Thu, 5 Sep 2024 11:11:00 +0800 Subject: [PATCH 21/23] feat: update image version --- mse-simple-demo/GoApp/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mse-simple-demo/GoApp/Dockerfile b/mse-simple-demo/GoApp/Dockerfile index e22cec16..ef422e6b 100644 --- a/mse-simple-demo/GoApp/Dockerfile +++ b/mse-simple-demo/GoApp/Dockerfile @@ -1,4 +1,4 @@ -FROM registry-cn-hangzhou.ack.aliyuncs.com/dev/alpine:3.18-update +FROM registry-cn-hangzhou.ack.aliyuncs.com/dev/alpine:3.18-update@sha256:f2f97bbc6f3173044292cbf8d306ca31b4356a5f2eb54701fc97f64065b412cf RUN apk add --no-cache bash From d673351f955af6e69f649f3d9e58525253fc0811 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Thu, 5 Sep 2024 11:20:03 +0800 Subject: [PATCH 22/23] feat: update tag --- mse-simple-demo/GoApp/service.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mse-simple-demo/GoApp/service.go b/mse-simple-demo/GoApp/service.go index c9d5c38d..5903ef86 100644 --- a/mse-simple-demo/GoApp/service.go +++ b/mse-simple-demo/GoApp/service.go @@ -24,6 +24,9 @@ func init() { Transport: http.DefaultTransport, } tag = os.Getenv("MSE_ALICLOUD_SERVICE_TAG") + if tag == "base" { + tag = "" + } ip = getIp() } From b267783903a503b4cb5319ecee1d6ddecd8b8ac1 Mon Sep 17 00:00:00 2001 From: EndlessSeeker <1766508902@qq.com> Date: Sat, 14 Sep 2024 15:09:22 +0800 Subject: [PATCH 23/23] feat: update scx version --- mse-simple-demo/A/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mse-simple-demo/A/pom.xml b/mse-simple-demo/A/pom.xml index 49139768..3a705d87 100644 --- a/mse-simple-demo/A/pom.xml +++ b/mse-simple-demo/A/pom.xml @@ -20,7 +20,7 @@ 2021.0.6.0 3.2.14 4.5.0 - 1.11.5 + 1.12.0-SNAPSHOT 1.0.7