diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/pom.xml b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/pom.xml
new file mode 100644
index 00000000..d8239041
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/pom.xml
@@ -0,0 +1,63 @@
+
+
+
+ nacos-sentinel-dubbo
+ com.xjs
+ 1.0
+
+ 4.0.0
+ nsd消费者
+
+ nsd-consumer
+
+
+ 11
+ 11
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.csp
+ sentinel-datasource-nacos
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-dubbo
+
+
+
+ com.alibaba.csp
+ sentinel-apache-dubbo-adapter
+
+
+
+ service-api
+ com.xjs
+ 1.0
+
+
+
+
+
diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/src/main/java/com/xjs/NacosSentinelDubboConsumerApp.java b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/src/main/java/com/xjs/NacosSentinelDubboConsumerApp.java
new file mode 100644
index 00000000..3ec8e4ff
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/src/main/java/com/xjs/NacosSentinelDubboConsumerApp.java
@@ -0,0 +1,33 @@
+package com.xjs;
+
+import com.xjs.service.HelloService;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author xiejs
+ * @since 2022-06-01
+ */
+@SpringBootApplication
+@RestController
+@RequestMapping("app")
+public class NacosSentinelDubboConsumerApp {
+
+ public static void main(String[] args) {
+ SpringApplication.run(NacosSentinelDubboConsumerApp.class, args);
+ }
+
+
+ @DubboReference
+ private HelloService helloService;
+
+ @GetMapping
+ public String test() {
+ return helloService.sayHello("傻逼");
+ }
+
+}
diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/src/main/resources/application.yml b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/src/main/resources/application.yml
new file mode 100644
index 00000000..b0ac1ea1
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-consumer/src/main/resources/application.yml
@@ -0,0 +1,56 @@
+server:
+ port: 10091
+
+spring:
+ application:
+ name: nacos-sentinel-dubbo-consumer
+
+ main:
+ allow-bean-definition-overriding: true
+
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ namespace: study001
+
+ sentinel:
+ transport:
+ #sentinel控制台端口
+ dashboard: 127.0.0.1:10086
+ #sentinel会在该端口启动http server进行一些限流规则传递,如果占用,端口号依次+1,例10081
+ port: 10080
+
+ #Sentinel Nacos数据源配置,nacos中的规则会自动同步到sentinel流控规则中(Sentinel规则持久化)
+ datasource:
+ #自定义的流控规则数据源名称
+ flow:
+ nacos:
+ serverAddr: ${spring.cloud.nacos.discovery.server-addr}
+ dataId: ${spring.application.name}-flow-rules
+ groupId: sentinel
+ namespace: study001
+ dataType: json
+ ruleType: FLOW
+
+ #自定义的降级规则数据源名称
+ degrade:
+ nacos:
+ serverAddr: ${spring.cloud.nacos.discovery.server-addr}
+ dataId: ${spring.application.name}-degrade-rules
+ groupId: sentinel
+ namespace: study001
+ dataType: json
+ ruleType: degrade
+
+
+dubbo:
+ registry:
+ address: spring-cloud://localhost
+ cloud:
+ subscribed-services: nacos-sentinel-dubbo-provider
+
+
+
+
+
diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/pom.xml b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/pom.xml
new file mode 100644
index 00000000..64a50c38
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/pom.xml
@@ -0,0 +1,63 @@
+
+
+
+ nacos-sentinel-dubbo
+ com.xjs
+ 1.0
+
+ 4.0.0
+ nsd生产者
+
+ nsd-provider
+
+
+ 11
+ 11
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.csp
+ sentinel-datasource-nacos
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-dubbo
+
+
+
+ com.alibaba.csp
+ sentinel-apache-dubbo-adapter
+
+
+
+ service-api
+ com.xjs
+ 1.0
+
+
+
+
+
diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/java/com/xjs/NacosSentinelDubboProviderApp.java b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/java/com/xjs/NacosSentinelDubboProviderApp.java
new file mode 100644
index 00000000..5c27079a
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/java/com/xjs/NacosSentinelDubboProviderApp.java
@@ -0,0 +1,16 @@
+package com.xjs;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @author xiejs
+ * @since 2022-06-01
+ */
+@SpringBootApplication
+public class NacosSentinelDubboProviderApp {
+
+ public static void main(String[] args) {
+ SpringApplication.run(NacosSentinelDubboProviderApp.class, args);
+ }
+}
diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/java/com/xjs/service/impl/HelloServiceImpl.java b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/java/com/xjs/service/impl/HelloServiceImpl.java
new file mode 100644
index 00000000..0b8f1232
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/java/com/xjs/service/impl/HelloServiceImpl.java
@@ -0,0 +1,23 @@
+package com.xjs.service.impl;
+
+import com.xjs.service.HelloService;
+import org.apache.dubbo.config.annotation.DubboService;
+
+/**
+ * @author xiejs
+ * @since 2022-06-01
+ */
+@DubboService
+public class HelloServiceImpl implements HelloService {
+
+
+ @Override
+ public String sayHello(String name) {
+ return "hello";
+ }
+
+ @Override
+ public String sayHello(String name, int timeTowait) {
+ return null;
+ }
+}
diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/resources/application.yml b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/resources/application.yml
new file mode 100644
index 00000000..03e13abb
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/nsd-provider/src/main/resources/application.yml
@@ -0,0 +1,59 @@
+server:
+ port: 10090
+
+spring:
+ application:
+ name: nacos-sentinel-dubbo-provider
+
+ main:
+ allow-bean-definition-overriding: true
+
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ namespace: study001
+
+ sentinel:
+ transport:
+ #sentinel控制台端口
+ dashboard: 127.0.0.1:10086
+ #sentinel会在该端口启动http server进行一些限流规则传递,如果占用,端口号依次+1,例10081
+ port: 10080
+
+ #Sentinel Nacos数据源配置,nacos中的规则会自动同步到sentinel流控规则中(Sentinel规则持久化)
+ datasource:
+ #自定义的流控规则数据源名称
+ flow:
+ nacos:
+ serverAddr: ${spring.cloud.nacos.discovery.server-addr}
+ dataId: ${spring.application.name}-flow-rules
+ groupId: sentinel
+ namespace: study001
+ dataType: json
+ ruleType: FLOW
+
+ #自定义的降级规则数据源名称
+ degrade:
+ nacos:
+ serverAddr: ${spring.cloud.nacos.discovery.server-addr}
+ dataId: ${spring.application.name}-degrade-rules
+ groupId: sentinel
+ namespace: study001
+ dataType: json
+ ruleType: degrade
+
+
+dubbo:
+ scan:
+ base-packages:
+ - com.xjs.service.impl
+ protocol:
+ name: dubbo
+ port: -1
+ host: 127.0.0.1
+ registry:
+ address: spring-cloud://localhost
+
+
+
diff --git a/xjs-study/springcloud-project/nacos-sentinel-dubbo/pom.xml b/xjs-study/springcloud-project/nacos-sentinel-dubbo/pom.xml
new file mode 100644
index 00000000..b04398a3
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos-sentinel-dubbo/pom.xml
@@ -0,0 +1,26 @@
+
+
+
+ springcloud-project
+ com.xjs
+ 1.0
+
+ 4.0.0
+ pom
+ nsd三大组件
+
+ nsd-provider
+ nsd-consumer
+
+
+ nacos-sentinel-dubbo
+
+
+ 11
+ 11
+
+
+
+
diff --git a/xjs-study/springcloud-project/nacos/nacos-client-consumer/pom.xml b/xjs-study/springcloud-project/nacos/nacos-client-consumer/pom.xml
new file mode 100644
index 00000000..e3a5cdab
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos/nacos-client-consumer/pom.xml
@@ -0,0 +1,36 @@
+
+
+
+ nacos
+ com.xjs
+ 1.0
+
+ 4.0.0
+ Nacos客户端消费者
+ nacos-client-consumer
+
+
+ 11
+ 11
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
diff --git a/xjs-study/springcloud-project/nacos/nacos-client-consumer/src/main/java/com/xjs/NacosClientConsumerApp.java b/xjs-study/springcloud-project/nacos/nacos-client-consumer/src/main/java/com/xjs/NacosClientConsumerApp.java
new file mode 100644
index 00000000..f20c14e1
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos/nacos-client-consumer/src/main/java/com/xjs/NacosClientConsumerApp.java
@@ -0,0 +1,39 @@
+package com.xjs;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.context.config.annotation.RefreshScope;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author xiejs
+ * @since 2022-05-31
+ */
+@SpringBootApplication
+@EnableDiscoveryClient
+@RestController
+@RequestMapping("app")
+@RefreshScope
+public class NacosClientConsumerApp {
+
+ @Value("${xjs}")
+ private Long num;
+
+ @Value("${yyy}")
+ private Long yyy;
+
+ public static void main(String[] args) {
+ SpringApplication.run(NacosClientConsumerApp.class, args);
+ }
+
+ @GetMapping
+ public String test() {
+ return num.toString() + yyy.toString();
+ }
+
+
+}
diff --git a/xjs-study/springcloud-project/nacos/nacos-client-consumer/src/main/resources/bootstrap.yml b/xjs-study/springcloud-project/nacos/nacos-client-consumer/src/main/resources/bootstrap.yml
new file mode 100644
index 00000000..687179d9
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos/nacos-client-consumer/src/main/resources/bootstrap.yml
@@ -0,0 +1,34 @@
+server:
+ port: 8521
+
+spring:
+ application:
+ name: nacos-service-consumer
+
+ cloud:
+ nacos:
+ discovery:
+ #naocs集群地址
+ server-addr: 127.0.0.1:8848,127.0.0.1:8858,127.0.0.1:8868
+ namespace: study001
+
+ config:
+ #配置中心地址
+ server-addr: 127.0.0.1:8848,127.0.0.1:8858,127.0.0.1:8868
+ #命名空间id
+ namespace: study001
+ #组id
+ group: DEFAULT_GROUP
+
+
+ file-extension: yml
+ prefix: study
+
+ extension-configs[0]:
+ data-id: study-copy.yml
+ refresh: true
+
+
+
+
+
diff --git a/xjs-study/springcloud-project/nacos/nacos-client-provider/pom.xml b/xjs-study/springcloud-project/nacos/nacos-client-provider/pom.xml
new file mode 100644
index 00000000..d96cb14a
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos/nacos-client-provider/pom.xml
@@ -0,0 +1,36 @@
+
+
+
+ nacos
+ com.xjs
+ 1.0
+
+ 4.0.0
+ Nacos客户端生产者
+ nacos-client-provider
+
+
+ 11
+ 11
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
diff --git a/xjs-study/springcloud-project/nacos/nacos-client-provider/src/main/java/com/xjs/NacosClientProviderApp.java b/xjs-study/springcloud-project/nacos/nacos-client-provider/src/main/java/com/xjs/NacosClientProviderApp.java
new file mode 100644
index 00000000..34e31a19
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos/nacos-client-provider/src/main/java/com/xjs/NacosClientProviderApp.java
@@ -0,0 +1,19 @@
+package com.xjs;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+
+/**
+ * @author xiejs
+ * @since 2022-05-31
+ */
+@SpringBootApplication
+@EnableDiscoveryClient
+public class NacosClientProviderApp {
+
+ public static void main(String[] args) {
+ SpringApplication.run(NacosClientProviderApp.class, args);
+ }
+
+}
diff --git a/xjs-study/springcloud-project/nacos/nacos-client-provider/src/main/resources/bootstrap.yml b/xjs-study/springcloud-project/nacos/nacos-client-provider/src/main/resources/bootstrap.yml
new file mode 100644
index 00000000..26cef6db
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos/nacos-client-provider/src/main/resources/bootstrap.yml
@@ -0,0 +1,13 @@
+server:
+ port: 8520
+
+spring:
+ application:
+ name: nacos-service-provider
+
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848,127.0.0.1:8858,127.0.0.1:8868
+ namespace: study001
+
diff --git a/xjs-study/springcloud-project/nacos/pom.xml b/xjs-study/springcloud-project/nacos/pom.xml
new file mode 100644
index 00000000..b2c8a0b7
--- /dev/null
+++ b/xjs-study/springcloud-project/nacos/pom.xml
@@ -0,0 +1,35 @@
+
+
+
+ springcloud-project
+ com.xjs
+ 1.0
+
+ 4.0.0
+ pom
+ Nacos注册中心
+
+ nacos-client-provider
+ nacos-client-consumer
+
+
+ nacos
+
+
+ 11
+ 11
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ 2021.1
+ pom
+ import
+
+
+
+
diff --git a/xjs-study/springcloud-project/pom.xml b/xjs-study/springcloud-project/pom.xml
index 57939227..a635ec0e 100644
--- a/xjs-study/springcloud-project/pom.xml
+++ b/xjs-study/springcloud-project/pom.xml
@@ -14,6 +14,9 @@
eureka
stream
oauth2
+ nacos
+ sentinel
+ nacos-sentinel-dubbo
springcloud-project
diff --git a/xjs-study/springcloud-project/sentinel/pom.xml b/xjs-study/springcloud-project/sentinel/pom.xml
new file mode 100644
index 00000000..37821d9e
--- /dev/null
+++ b/xjs-study/springcloud-project/sentinel/pom.xml
@@ -0,0 +1,49 @@
+
+
+
+ springcloud-project
+ com.xjs
+ 1.0
+
+ 4.0.0
+ Sentinel熔断降级
+
+ sentinel
+
+
+ 11
+ 11
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.csp
+ sentinel-datasource-nacos
+
+
+
+
+
+
diff --git a/xjs-study/springcloud-project/sentinel/src/main/java/com/xjs/SentinelApplication.java b/xjs-study/springcloud-project/sentinel/src/main/java/com/xjs/SentinelApplication.java
new file mode 100644
index 00000000..809ad6b2
--- /dev/null
+++ b/xjs-study/springcloud-project/sentinel/src/main/java/com/xjs/SentinelApplication.java
@@ -0,0 +1,47 @@
+package com.xjs;
+
+import com.alibaba.csp.sentinel.annotation.SentinelResource;
+import com.alibaba.csp.sentinel.slots.block.BlockException;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author xiejs
+ * @since 2022-05-31
+ */
+@SpringBootApplication
+@RestController
+@RequestMapping("app")
+public class SentinelApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SentinelApplication.class, args);
+ }
+
+ @Value("${server.port}")
+ private Integer port;
+
+ @GetMapping
+ @SentinelResource(value = "port",
+ blockHandler = "handlePort",
+ blockHandlerClass = SentinelHandler.class,
+ fallback = "errorPost"
+
+ )
+ public String port() {
+ return port.toString();
+ }
+
+
+ public String handlePort(BlockException e) {
+ return "异常了啊";
+ }
+
+ public String errorPost(BlockException e) {
+ return "error了啊";
+ }
+}
diff --git a/xjs-study/springcloud-project/sentinel/src/main/java/com/xjs/SentinelHandler.java b/xjs-study/springcloud-project/sentinel/src/main/java/com/xjs/SentinelHandler.java
new file mode 100644
index 00000000..06b3faab
--- /dev/null
+++ b/xjs-study/springcloud-project/sentinel/src/main/java/com/xjs/SentinelHandler.java
@@ -0,0 +1,15 @@
+package com.xjs;
+
+import com.alibaba.csp.sentinel.slots.block.BlockException;
+
+/**
+ * @author xiejs
+ * @since 2022-06-01
+ */
+public class SentinelHandler {
+
+ public static String handlePort(BlockException e) {
+ return "异常了啊!!!!";
+ }
+
+}
diff --git a/xjs-study/springcloud-project/sentinel/src/main/resources/application.yml b/xjs-study/springcloud-project/sentinel/src/main/resources/application.yml
new file mode 100644
index 00000000..87a180a2
--- /dev/null
+++ b/xjs-study/springcloud-project/sentinel/src/main/resources/application.yml
@@ -0,0 +1,47 @@
+server:
+ port: 10088
+
+spring:
+ application:
+ name: sentienl-service
+
+
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+# ,127.0.0.1:8858,127.0.0.1:8868
+ namespace: study001
+
+ sentinel:
+ transport:
+ #sentinel控制台端口
+ dashboard: 127.0.0.1:10086
+ #sentinel会在该端口启动http server进行一些限流规则传递,如果占用,端口号依次+1,例10081
+ port: 10080
+
+ #Sentinel Nacos数据源配置,nacos中的规则会自动同步到sentinel流控规则中(Sentinel规则持久化)
+ datasource:
+ #自定义的流控规则数据源名称
+ flow:
+ nacos:
+ serverAddr: ${spring.cloud.nacos.discovery.server-addr}
+ dataId: ${spring.application.name}-flow-rules
+ groupId: sentinel
+ namespace: study001
+ dataType: json
+ ruleType: FLOW
+
+ #自定义的降级规则数据源名称
+ degrade:
+ nacos:
+ serverAddr: ${spring.cloud.nacos.discovery.server-addr}
+ dataId: ${spring.application.name}-degrade-rules
+ groupId: sentinel
+ namespace: study001
+ dataType: json
+ ruleType: degrade
+
+
+
+