SpringCloud系列十五:Config-实际运用

痛定思痛。 2022-02-05 03:19 313阅读 0赞

一、配置文件托管到GitLab
1、在文件夹springcloud-config下新建配置文件springcloud-config-dept-client.yml

  1. spring:
  2. profiles:
  3. active:
  4. - dev
  5. ---
  6. server:
  7. port: 8001
  8. spring:
  9. profiles: dev
  10. application:
  11. name: springcloud-config-dept-client
  12. datasource:
  13. type: com.alibaba.druid.pool.DruidDataSource
  14. driver-class-name: org.gjt.mm.mysql.Driver
  15. url: jdbc:mysql://192.168.106.130:3305/clouddb03
  16. username: root
  17. password: 123456
  18. dbcp2:
  19. min-idle: 5
  20. initial-size: 5
  21. max-total: 5
  22. max-wait-millis: 200
  23. mybatis:
  24. config-location: classpath:mybatis/mybatis.cfg.xml
  25. type-aliases-package: com.atguigu.springcloud.entities
  26. mapper-locations:
  27. - classpath:mybatis/mapper/**/*.xml
  28. eureka:
  29. client:
  30. service-url:
  31. defaultZone: http://eureka7001.com:7001/eureka/
  32. instance:
  33. instance-id: dept-8001.com
  34. prefer-ip-address: true
  35. info:
  36. app.name: atguigu-microservicecloud-springcloudconfig01
  37. company.name: www.atguigu.com
  38. build.artifactId: ${project.artifactId}
  39. build.version: ${project.version}
  40. ---
  41. server:
  42. port: 8001
  43. spring:
  44. profiles: test
  45. application:
  46. name: springcloud-config-dept-client
  47. datasource:
  48. type: com.alibaba.druid.pool.DruidDataSource
  49. driver-class-name: org.gjt.mm.mysql.Driver
  50. url: jdbc:mysql://192.168.106.130:3305/clouddb02
  51. username: root
  52. password: 123456
  53. dbcp2:
  54. min-idle: 5
  55. initial-size: 5
  56. max-total: 5
  57. max-wait-millis: 200
  58. mybatis:
  59. config-location: classpath:mybatis/mybatis.cfg.xml
  60. type-aliases-package: com.atguigu.springcloud.entities
  61. mapper-locations:
  62. - classpath:mybatis/mapper/**/*.xml
  63. eureka:
  64. client:
  65. service-url:
  66. defaultZone: http://eureka7001.com:7001/eureka/
  67. instance:
  68. instance-id: dept-8001.com
  69. prefer-ip-address: true
  70. info:
  71. app.name: atguigu-microservicecloud-springcloudconfig01
  72. company.name: www.atguigu.com
  73. build.artifactId: ${project.artifactId}
  74. build.version: ${project.version}
  75. #必须保存为UTF-8格式

2、在文件夹springcloud-config下新建配置文件springcloud-config-eureka-client.yml

  1. spring:
  2. profiles:
  3. active:
  4. - dev
  5. ---
  6. server:
  7. port: 7001
  8. spring:
  9. profiles: dev
  10. application:
  11. name: springcloud-config-eureka-client
  12. eureka:
  13. instance:
  14. hostname: eureka7001.com
  15. client:
  16. register-with-eureka: false
  17. fetch-register: false
  18. service-url:
  19. defaultZone: http://eureka7001.com:7001/eureka/
  20. ---
  21. server:
  22. port: 7001
  23. spring:
  24. profiles: test
  25. application:
  26. name: springcloud-config-eureka-client
  27. eureka:
  28. instance:
  29. hostname: eureka7001.com
  30. client:
  31. register-with-eureka: false
  32. fetch-register: false
  33. service-url:
  34. defaultZone: http://eureka7001.com:7001/eureka/
  35. #必须保存为UTF-8格式

3、推送到GitLab上
在这里插入图片描述
二、Config版的eureka服务端
1、新建microservicecloud-config-eureka-client-7001工程
2、引入依赖

  1. <dependencies>
  2. <!-- 热部署插件 -->
  3. <dependency>
  4. <groupId>org.springframework</groupId>
  5. <artifactId>springloaded</artifactId>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-devtools</artifactId>
  10. </dependency>
  11. <!-- eureka服务注册中心 -->
  12. <dependency>
  13. <groupId>org.springframework.cloud</groupId>
  14. <artifactId>spring-cloud-starter-eureka-server</artifactId>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.springframework.cloud</groupId>
  18. <artifactId>spring-cloud-starter-config</artifactId>
  19. </dependency>
  20. </dependencies>

3、application.yml配置

  1. spring:
  2. application:
  3. name: springcloud-config-eureka-client

4、bootstrap.yml配置。主要负责从从外部源加载配置属性并解析配置。

  1. spring:
  2. cloud:
  3. config:
  4. name: springcloud-config-eureka-client #需要从github上读取的资源名称,注意没有yml后缀名
  5. profile: dev
  6. label: master
  7. uri: http://config3344.com:3344 #该微服务启动后先去找服务配置中心3344,通过SpringCloudConfig获取GitLab地址

5、在主启动类添加@EnableEurekaServer注解

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

6、先启动配置中心服务端,再启动config-eureka-client工程。
 http://eureka7001.com:7001/
在这里插入图片描述
二、Config版的部门提供者
1、参考microservicecloud-provider-dept-8001新建microservicecloud-config-dept-client-8001工程
2、引入依赖

  1. <dependencies>
  2. <dependency>
  3. <groupId>com.atguigu.springcloud</groupId>
  4. <artifactId>microservicecloud-api</artifactId>
  5. <version>${project.version}</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>junit</groupId>
  9. <artifactId>junit</artifactId>
  10. </dependency>
  11. <dependency>
  12. <groupId>mysql</groupId>
  13. <artifactId>mysql-connector-java</artifactId>
  14. </dependency>
  15. <dependency>
  16. <groupId>com.alibaba</groupId>
  17. <artifactId>druid</artifactId>
  18. </dependency>
  19. <dependency>
  20. <groupId>ch.qos.logback</groupId>
  21. <artifactId>logback-core</artifactId>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.mybatis.spring.boot</groupId>
  25. <artifactId>mybatis-spring-boot-starter</artifactId>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.springframework.boot</groupId>
  29. <artifactId>spring-boot-starter-jetty</artifactId>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework.boot</groupId>
  33. <artifactId>spring-boot-starter-web</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.springframework.boot</groupId>
  37. <artifactId>spring-boot-starter-test</artifactId>
  38. </dependency>
  39. <!-- 修改后立即生效,热部署 -->
  40. <dependency>
  41. <groupId>org.springframework</groupId>
  42. <artifactId>springloaded</artifactId>
  43. </dependency>
  44. <dependency>
  45. <groupId>org.springframework.boot</groupId>
  46. <artifactId>spring-boot-devtools</artifactId>
  47. </dependency>
  48. <!-- 将微服务provider侧注册进eureka -->
  49. <dependency>
  50. <groupId>org.springframework.cloud</groupId>
  51. <artifactId>spring-cloud-starter-eureka</artifactId>
  52. </dependency>
  53. <dependency>
  54. <groupId>org.springframework.cloud</groupId>
  55. <artifactId>spring-cloud-starter-config</artifactId>
  56. </dependency>
  57. <!-- hystrix-dashboard相关: actuator监控 -->
  58. <dependency>
  59. <groupId>org.springframework.boot</groupId>
  60. <artifactId>spring-boot-starter-actuator</artifactId>
  61. </dependency>
  62. </dependencies>

3、application.yml配置

  1. spring:
  2. application:
  3. name: springcloud-config-dept-client

4、bootstrap.yml配置。主要负责从从外部源加载配置属性并解析配置。

  1. spring:
  2. cloud:
  3. config:
  4. name: springcloud-config-dept-client #需要从github上读取的资源名称,注意没有yml后缀名
  5. profile: dev
  6. label: master
  7. uri: http://config3344.com:3344 #SpringCloudConfig获取的服务地址

5、启动服务。
 http://eureka7001.com:7001/
在这里插入图片描述
 http://localhost:8001/dept/list
在这里插入图片描述

发表评论

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

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

相关阅读

    相关 SpringCloud---SpringCloud Config

    抛出问题:        假如有一个微服务项目,有很多微服务实例,那么相对就有很多配置文件,如果在每个微服务中进行配置,那么每次部署或许都要进行修改,太多微服务,则造成配置文

    相关 SpringCloud系列三:Config-简介

    1.分布式系统面临的–配置问题  微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才