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