diff --git a/74.spring-cloud-alibaba-nacos-register/consumer/pom.xml b/74.spring-cloud-alibaba-nacos-register/consumer/pom.xml
new file mode 100644
index 0000000..ae597cf
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/consumer/pom.xml
@@ -0,0 +1,24 @@
+
+
+4.0.0
+
+ cc.mrbird
+ spring-cloud-alibaba-nacos-register
+ 1.0-SNAPSHOT
+ ../pom.xml
+
+
+consumer
+consumer
+服务消费端
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/ConsumerApplication.java b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/ConsumerApplication.java
new file mode 100644
index 0000000..f52fdde
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/ConsumerApplication.java
@@ -0,0 +1,12 @@
+package cc.mrbird.consumer;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class ConsumerApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ConsumerApplication.class, args);
+ }
+}
diff --git a/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/configure/ConsumerConfigure.java b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/configure/ConsumerConfigure.java
new file mode 100644
index 0000000..ee990b5
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/configure/ConsumerConfigure.java
@@ -0,0 +1,17 @@
+package cc.mrbird.consumer.configure;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @author MrBird
+ */
+@Configuration
+public class ConsumerConfigure {
+
+ @Bean
+ public RestTemplate restTemplate() {
+ return new RestTemplate();
+ }
+}
diff --git a/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/controller/ConsumeController.java b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/controller/ConsumeController.java
new file mode 100644
index 0000000..850c306
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/java/cc/mrbird/consumer/controller/ConsumeController.java
@@ -0,0 +1,31 @@
+package cc.mrbird.consumer.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.client.ServiceInstance;
+import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @author MrBird
+ */
+@RestController
+@RequestMapping("consume")
+public class ConsumeController {
+
+ @Autowired
+ private LoadBalancerClient loadBalancerClient;
+ @Autowired
+ private RestTemplate restTemplate;
+
+ @GetMapping("hello/{message}")
+ public String hello(@PathVariable String message) {
+ ServiceInstance serviceInstance = loadBalancerClient.choose("provider");
+ String path = String.format("http://%s:%s/provide/%s", serviceInstance.getHost(), serviceInstance.getPort(), message);
+ String result = restTemplate.getForObject(path, String.class);
+ return String.format("%s from %s %s", result, serviceInstance.getHost(), serviceInstance.getPort());
+ }
+}
diff --git a/74.spring-cloud-alibaba-nacos-register/consumer/src/main/resources/application.yml b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/resources/application.yml
new file mode 100644
index 0000000..065c247
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/consumer/src/main/resources/application.yml
@@ -0,0 +1,8 @@
+server:
+ port: 9001
+spring:
+ application:
+ name: consumer
+ cloud:
+ nacos:
+ server-addr: localhost:8848
\ No newline at end of file
diff --git a/74.spring-cloud-alibaba-nacos-register/pom.xml b/74.spring-cloud-alibaba-nacos-register/pom.xml
new file mode 100644
index 0000000..57f1f5e
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/pom.xml
@@ -0,0 +1,58 @@
+
+
+ 4.0.0
+
+ cc.mrbird
+ spring-cloud-alibaba-nacos-register
+ 1.0-SNAPSHOT
+ pom
+
+
+ provider
+ consumer
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.2.3.RELEASE
+
+
+
+
+ 1.8
+ Hoxton.SR3
+ 2.2.0.RELEASE
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-nacos-discovery
+
+
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-dependencies
+ ${spring-cloud.version}
+ pom
+ import
+
+
+ com.alibaba.cloud
+ spring-cloud-alibaba-dependencies
+ ${com-alibaba-cloud.version}
+ pom
+ import
+
+
+
+
\ No newline at end of file
diff --git a/74.spring-cloud-alibaba-nacos-register/provider/pom.xml b/74.spring-cloud-alibaba-nacos-register/provider/pom.xml
new file mode 100644
index 0000000..b01aa9b
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/provider/pom.xml
@@ -0,0 +1,24 @@
+
+
+ 4.0.0
+
+ cc.mrbird
+ spring-cloud-alibaba-nacos-register
+ 1.0-SNAPSHOT
+ ../pom.xml
+
+
+ provider
+ provider
+ 服务提供端
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
diff --git a/74.spring-cloud-alibaba-nacos-register/provider/src/main/java/cc/mrbird/provider/ProviderApplication.java b/74.spring-cloud-alibaba-nacos-register/provider/src/main/java/cc/mrbird/provider/ProviderApplication.java
new file mode 100644
index 0000000..2e5e6a6
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/provider/src/main/java/cc/mrbird/provider/ProviderApplication.java
@@ -0,0 +1,12 @@
+package cc.mrbird.provider;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class ProviderApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ProviderApplication.class, args);
+ }
+}
diff --git a/74.spring-cloud-alibaba-nacos-register/provider/src/main/java/cc/mrbird/provider/controller/HelloController.java b/74.spring-cloud-alibaba-nacos-register/provider/src/main/java/cc/mrbird/provider/controller/HelloController.java
new file mode 100644
index 0000000..3acb515
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/provider/src/main/java/cc/mrbird/provider/controller/HelloController.java
@@ -0,0 +1,19 @@
+package cc.mrbird.provider.controller;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author MrBird
+ */
+@RestController
+@RequestMapping("provide")
+public class HelloController {
+
+ @GetMapping("{message}")
+ public String hello(@PathVariable String message) {
+ return String.format("hello %s", message);
+ }
+}
diff --git a/74.spring-cloud-alibaba-nacos-register/provider/src/main/resources/application.yml b/74.spring-cloud-alibaba-nacos-register/provider/src/main/resources/application.yml
new file mode 100644
index 0000000..e566400
--- /dev/null
+++ b/74.spring-cloud-alibaba-nacos-register/provider/src/main/resources/application.yml
@@ -0,0 +1,8 @@
+server:
+ port: 8001
+spring:
+ application:
+ name: provider
+ cloud:
+ nacos:
+ server-addr: localhost:8848
\ No newline at end of file