1.首先云端需要有一个自己建立的仓库地址,用来专门存放配置文件
spring: application: name: hrm-eureka server: port: 1020 eureka: instance: hostname: localhost client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #单机配置
2.获取配置文件的单体服务上,启动类上需要
@EnableEurekaServer,并且此时YML里面并没有端口号重要信息。
注册中心的配置文件是要上传到配置中心去的:
获取的就是127.0.0.1::1010端口 也就是上面对应的是1010配置文件里面URL里面的master分支,获取的maser分支里面名称为application-eureka-dev的文件。
spring: profiles: active: dev #默认启动是dev rabbitmq: #集成RabbitMQ如果配置是默认,可以省略 host: localhost #mq连接地址 port: 5672 #mq端口 username: guest password: guest cloud: config: profile: ${spring.profiles.active} #环境 java -jar -d spring.profiles.active=test hrm-eureak.jar name: application-eureka #gitee上面名称 label: master #分支 uri: http://127.0.0.1:1010 #配置服务器,相当于链接上述的config项目的配置,config从云端去获取配置文件 bus: #这行代码很重要,根据官方定义的标准来的 ,就是为了产生一个bus.id id: ${spring.application.name}:${spring.cloud.config.profile}:${random.value}
3.提供配置文件的单体应用自身配置:
导包和启动类注解:
@EnableConfigServer
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency>
自身的yml需要配置连接的仓库地址,包括用户名和密码:
server: port: 1010 spring: application: name: hrm-config-server rabbitmq: #集成RabbitMQ如果配置是默认,可以省略 host: localhost #mq连接地址 port: 5672 #mq端口 username: guest password: guest cloud: config: server: git: uri: https://gitee.com/luckboy668/hrm-config-110.git username: l password: m search-paths: config/src/main/resources # 如果不是在根路径下面需要加搜索地址 页面多了config地址 链接对外的地址,localhost:1010相当于就是url #actuator配置 management: endpoint: health: show-details: always #打印日志 endpoints: web: exposure: include: "*" #向外暴露的接口,这里*则表示所有的actuator接口都可以被访问 enabled-by-default: true #开启actuator监控
4.验证:
启动了配置类的时候可以从云端直接获取数据,因为服务已经启动了:
再次启动服务可以获取到eureka的服务,这时候服务就是从云端去获取的配置文件,因为本地