springcloud(二)配置中心 config
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
4.编写配置文件 bootstrap.yml
server:
port: 9100 #端口
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/ #注册中心地址
spring:
application:
name: cloud-config #服务名
profiles:
active: native #拉取本地配置
active: git #拉取 git 配置
active: subversion
cloud:
config:
server:
native:
search-locations: file:F:\git\springcloud\config #本地拉起
git:
uri: https://github.com/361426201/cloud-config.git #git 地址 需要注意一点,我拉取的是公共仓库,不需要用户名和密码,如果你拉取的是私有仓库,需要加上用户名密码
username: xxxx
password: xxxx
label: master #指定拉取 git 的那个分支
svn:
uri: xxxxxxxxxxxxx #svn 的地址
username: xxx #用户名
password: xxx #密码
default-label: trunk #类似 git 中的分支
search-paths: {application} #可有可无
上面有三种管理配置文件的方式:本地、git、svn,按需放开对应的配置。
5.修改启动类:
package com.ymy;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication //springboot 启动注解 相当于 springboot1.5 之前的:@SpringBootConfiguration + EnableAutoConfiguration + @ComponentScan
@EnableDiscoveryClient // 将服务注册到注册中心
@EnableConfigServer //开启配置中心
public class CloudConfigApplication {
public static void main(String[] args) {
SpringApplication.run(CloudConfigApplication.class, args);
}
}
这样,配置中心就配置完成了,那微服务如何使用这个配置中心呢?
1.打开 cloud-user,在 eureka 的使用中已经创建了,请看:springcloud(一)注册中心eureka。
2.引入 spring cloud config 客户端所需要的依
赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
3.修改 bootstrap.yml:
server:
port: 8800
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: cloud-user
could 的配置信息一定要写到 bootstrap.yml 中
因为 cloud 框架会优先读取 bootstrap.yml 配置文件,如果发现这里面没有这些配置,那么是无法将当前服务注册到注册中心的,这点需要特别注意,服务名也要写到 ootstrap.yml 文件中哦
cloud:
config:
discovery:
enabled: true #如果希通过在配置中心找服务名的方式招待配置中心,那么这个属性就要设置成 true 默认 false
service-id: cloud-config #配置中心的服务名
fail-fast: true #将这个设置成 true 表示连接配置中心失败,让程序启动失败
打开 cloud-order:请看:springcloud(一)注册中心eureka。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
server:
port: 8900
client:
service-url:
defaultZone: http://localhost:8761/eureka/
register-with-eureka: true #是否注册到注册中心
fetch-registry: true #是否可以被检索
spring:
application:
name: cloud-order
could 的配置信息一定要写到 bootstrap.yml 中
因为 cloud 框架会优先读取 bootstrap.yml 配置文件,如果发现这里面没有这些配置,那么是无法将当前服务注册到注册中心的,这点需要特别注意,服务名也要写到 ootstrap.yml 文件中哦
cloud:
config:
discovery:
enabled: true #如果希通过在配置中心找服务名的方式招待配置中心,那么这个属性就要设置成 true 默认 false
service-id: cloud-config #配置中心的服务名
fail-fast: true #将这个设置成 true 表示连接配置中心失败,让程序启动失败
2.0 之后,默认的监控端点地址加了上下文路径 actuator。可通过 management.endpoints.web.base-path 属性进行修改,默认是: actuator
2.0 之后,默认只开启了端点 info、 health。其他的需要通过 management.endpoints.web.exposure.include 进行额外配置。
配置刷新
management:
endpoints:
web:
exposure:
include: '*'
4.由于我使用的是 git,所以我在 github 上面准备了一份配置文件
评论