spring-cloud-alibaba-nacos 注册中心 实现服务

悠悠 2022-11-17 13:36 131阅读 0赞

版本选择

父工程pom文件:

  1. <properties>
  2. <java.version>1.8</java.version>
  3. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  4. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  5. <spring-boot.version>2.1.17.RELEASE</spring-boot.version>
  6. <!--spring cloud 版本-->
  7. <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
  8. <spring-cloud-alibaba.version>2.1.2.RELEASE</spring-cloud-alibaba.version>
  9. </properties>
  10. <dependencyManagement>
  11. <dependencies>
  12. <dependency>
  13. <groupId>org.springframework.boot</groupId>
  14. <artifactId>spring-boot-dependencies</artifactId>
  15. <version>${spring-boot.version}</version>
  16. <type>pom</type>
  17. <scope>import</scope>
  18. </dependency>
  19. <dependency>
  20. <groupId>org.springframework.cloud</groupId>
  21. <artifactId>spring-cloud-dependencies</artifactId>
  22. <version>${spring-cloud.version}</version>
  23. <type>pom</type>
  24. <scope>import</scope>
  25. </dependency>
  26. <dependency>
  27. <groupId>com.alibaba.cloud</groupId>
  28. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  29. <version>${spring-cloud-alibaba.version}</version>
  30. <type>pom</type>
  31. <scope>import</scope>
  32. </dependency>
  33. </dependencies>
  34. </dependencyManagement>

通用依赖:

  1. <dependencies>
  2. <!--springboot最基本的依赖-->
  3. <dependency>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-starter-actuator</artifactId>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-web</artifactId>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.springframework.boot</groupId>
  13. <artifactId>spring-boot-starter-test</artifactId>
  14. <scope>test</scope>
  15. </dependency>
  16. <!--nacos 服务注册与发现-->
  17. <dependency>
  18. <groupId>com.alibaba.cloud</groupId>
  19. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  20. </dependency>
  21. <dependency>
  22. <groupId>org.projectlombok</groupId>
  23. <artifactId>lombok</artifactId>
  24. <optional>true</optional>
  25. </dependency>
  26. </dependencies>

服务端(Provider)模块:

添加@EnableDiscoveryClient注解在启动类上

  1. /**
  2. * @description:
  3. * @项目 www.fhadmin.org
  4. * @create 2021-04
  5. **/
  6. @SpringBootApplication
  7. @EnableDiscoveryClient
  8. public class NacosProviderApplication {
  9. public static void main(String[] args) {
  10. SpringApplication.run(NacosProviderApplication.class, args);
  11. }
  12. }
  13. //java项目www.fhadmin.org
  14. @RestController
  15. @RequestMapping("/goods")
  16. public class GoodsController {
  17. @Value("${server.port}")
  18. private int port;
  19. @GetMapping("/findOne3")
  20. public Goods findGoodsById3() {
  21. //当前线程睡2秒
  22. try {
  23. Thread.sleep(2000);
  24. } catch (InterruptedException e) {
  25. e.printStackTrace();
  26. }
  27. Goods goods = new Goods().setId(1).setPrice(123.123).setCount(1200).setTitle("标题");
  28. return goods.setTitle(goods.getTitle() + ":" + port);
  29. }
  30. }

application.yml:
配置服务名和nacos地址和端口,最下面的配置不用管

  1. server:
  2. port: 8000
  3. spring:
  4. application:
  5. name: nacos-provider # 服务名称
  6. cloud:
  7. nacos:
  8. discovery:
  9. server-addr: 127.0.0.1:8848 # 配置nacos 服务端地址
  10. management:
  11. endpoints:
  12. web:
  13. exposure:
  14. include: '*'

消费端(Consumer)模块

添加@EnableDiscoveryClient注解在启动类上

  1. /**
  2. * @description:
  3. * java项目www.fhadmin.org
  4. * @create 2021-04
  5. **/
  6. @SpringBootApplication
  7. @EnableDiscoveryClient
  8. public class NacosConsumerApplication {
  9. public static void main(String[] args) {
  10. SpringApplication.run(NacosConsumerApplication.class, args);
  11. }
  12. }

application.yml:
配置服务名和nacos地址和端口,最下面的配置不用管

  1. server:
  2. port: 9000
  3. spring:
  4. application:
  5. name: nacos-consumer # 服务名称
  6. cloud:
  7. nacos:
  8. discovery:
  9. server-addr: 127.0.0.1:8848 # 配置nacos 服务端地址
  10. management:
  11. endpoints:
  12. web:
  13. exposure:
  14. include: '*'

![wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==][wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw]

启动测试:
在这里插入图片描述
用户名密码都是 nacos

[wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw]:

发表评论

表情:
评论列表 (有 0 条评论,131人围观)

还没有评论,来说两句吧...

相关阅读