2、Nacos作为服务注册中心演示

1、官方文档 :https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html#_introduction

2、基于Nacos的服务提供者

image.png
在父POM中

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  4. <version>2.1.0.RELEASE</version>
  5. <type>pom</type>
  6. <scope>import</scope>
  7. </dependency>

1、新建Module
2、POM
在本项目中引入

  1. <dependencies>
  2. <dependency>
  3. <groupId>com.alibaba.cloud</groupId>
  4. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-web</artifactId>
  9. </dependency>
  10. <dependency>
  11. <groupId>org.springframework.boot</groupId>
  12. <artifactId>spring-boot-starter-actuator</artifactId>
  13. </dependency>
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-devtools</artifactId>
  17. <scope>runtime</scope>
  18. <optional>true</optional>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.projectlombok</groupId>
  22. <artifactId>lombok</artifactId>
  23. <optional>true</optional>
  24. </dependency>
  25. <dependency>
  26. <groupId>com.tfjy.springcloud</groupId>
  27. <artifactId>cloud-api-commons</artifactId>
  28. <version>1.0-SNAPSHOT</version>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework.boot</groupId>
  32. <artifactId>spring-boot-starter-test</artifactId>
  33. <scope>test</scope>
  34. </dependency>
  35. </dependencies>

3、YML

  1. server:
  2. port: 9001
  3. spring:
  4. application:
  5. name: nacos-payment-provider
  6. cloud:
  7. nacos:
  8. discovery:
  9. server-addr: localhost:8848 #配置nacos地址
  10. management: (监控的端点)
  11. endpoints:
  12. web:
  13. exposure:
  14. include: '*'

4、主启动

  1. @SpringBootApplication
  2. @EnableDiscoveryClient
  3. public class PaymentMain9001 {
  4. public static void main(String[] args) {
  5. SpringApplication.run(PaymentMain9001.class,args);
  6. }
  7. }

5、业务类

  1. @RestController
  2. public class PaymentController {
  3. @Value("${server.port}")
  4. private String serverPort;
  5. @GetMapping(value = "/payment/nacos/{id}")
  6. public String getPayment(@PathVariable("id") Integer id){
  7. return "nacos registry,serverPort:"+serverPort+"\t id"+id;
  8. }
  9. }

6、测试
image.png