当前位置:   article > 正文

第四节 springcloud config多实例集群_springcloud config多实例

springcloud config多实例
  1. Config Server 可以从本地仓库读取配置文件,也可以从远处Git 仓库读取。本地仓库是指将所有的配置文件统一写在Config Server 工程目录下。
  2. Config Sever 暴露HttpAPI 接口, ConfigClient 通过调用Config Sever 的H即API 接口来读取配置文件。
  3. 一、 构建Config Server
  4. 1. 在Config-server工程pom.xml文件增加如下引用:(父POM文件自己注意查看)
  5. <dependency>
  6. <groupId>org.springframework.cloud</groupId>
  7. <artifactId>spring-cloud-config-server</artifactId>
  8. </dependency>
  9. 2. 在ConfigServerApplication类上新增@EnableConfigServer注解,开启config server功能。
  10. 3. 配置application.yml文件
  11. spring:
  12. cloud:
  13. config:
  14. server:
  15. native:
  16. search-locations: classpath:/shared
  17. profiles:
  18. active: native
  19. application:
  20. name: config-server
  21. server:
  22. port: 8769
  23. #配置说明:
  24. #1. spring.profiles.active=native 用来配置Config Server从本地读取配置文件
  25. #2. spring.cloud.config.server.native.search-locations指定配置文件路径
  26. 4. 在resources/shared目录下新建config-client-dev.yml配置文件,配置数据如下:
  27. server:
  28. port: 8762
  29. foo: foo version 1
  30. 二、 构建Config client
  31. 1.在config-client工程的pom.xml文件中新增如下引用: (父POM文件自己注意查看)
  32. <dependency>
  33. <groupId>org.springframework.boot</groupId>
  34. <artifactId>spring-boot-starter-web</artifactId>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework.cloud</groupId>
  38. <artifactId>spring-cloud-starter-config</artifactId>
  39. </dependency>
  40. 2.在config-client的配置文件bootstrap.yml中做配置。【 注意: bootstrap.yml相对于appliation具有优先的执行顺序。】
  41. spring:
  42. application:
  43. name: config-client
  44. cloud:
  45. config:
  46. uri: http://localhost:8769
  47. fail-fast: true
  48. profiles:
  49. active: dev
  50. #配置说明:
  51. # spring.cloud.config.url 指定configServer的访问url
  52. # spring.cloud.config.fail-fast 表示如果没有读取成功,则执行快速失败
  53. # sprisng.profiles.active表示读取dev环境的配置文件
  54. # 所有的配置加起来,config-client就会去读config-server/resource/shared目录下面的 config-client-dev.yml文件
  55. 3.在ConfigClientApplication类中写一个API接口,读取配置文件foo变量,并通过API返回。
  56. 4.启动config-server工程,启动config-client工程。启动config-client工程会在控制台的日志中发现config-client向url为
  57. http://localhost:8769的Config Server读取了配置文件,最终config-client程序启动的端口为8762,8762端口是在
  58. config-server/resource/shared目录中的config-client-dev.yml文件中配置的。由此可以见config-client向config-server中
  59. 成功读取配置文件。
  60. 日志内容如: Fetching config from server at : http://localhost:8769
  61. 5. 访问http://localhost:8762/foo,浏览器显示:
  62. foo version 1
  63. 一、Eureka_server
  1. eureka:
  2. instance:
  3. hostname: peer1 # eureka服务端的实力名称
  4. client:
  5. fetch-registry: false # false表示自己就是注册中心。我的职责就是维护服务实例,并不需要去检索服务
  6. register-with-eureka: false # false表示自己不需要向注册中心注册自己
  7. service-url:
  8. defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  9. server:
  10. port: 8761 # 设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机版)
  11. #defaultZone: http://127.0.0.1:7001/eureka/

二、 github版本 去github上读取配置文件

  1. spring:
  2. cloud:
  3. config:
  4. server:
  5. git:
  6. uri: https://github.com/bluewelkin/springcloudcon
  7. searchPaths: config
  8. username:
  9. password:
  10. label: master
  11. application:
  12. name: config-server
  13. server:
  14. port: 8769
  15. eureka:
  16. client:
  17. serviceUrl:
  18. defaultZone: http://localhost:8761/eureka

开启两个实例 8768 、8769

三、eureka_client

  1. spring:
  2. application:
  3. name: config-client
  4. cloud:
  5. config:
  6. #uri: http://localhost:8769
  7. fail-fast: true
  8. discovery:
  9. enabled: true
  10. serviceId: config-server
  11. label: master
  12. profiles:
  13. active: dev

读取config-server 里面的配置文件

不断运行config-client

发现控制台轮流 8768 8769

代码示例:https://gitee.com/dgx555/springcloud/tree/master/springcloud_config_duoshili

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/216067
推荐阅读
相关标签
  

闽ICP备14008679号