Spring Cloud实战2——服务配置中心

1. 关于管理配置

  • ##配置管理架构
  • ##实施选择

我们选择使用Spring Cloud configuration server,理由如下:

a. 易于设置和使用

b. 与Spring Boot集成方便

c.提供多种后端存储配置数据

d.可直接和git集成

2. 创建Spring Cloud configuration server

上图展示了Spring Cloud configuration通过HTTP端点来暴露配置文件的。

2.1 创建启动类

@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }
}

2.2 使用git存储配置文件

Spring Cloud configuration的application.yml文件:

spring:
  application:
    name: configserver
  cloud:
    config:
      server:
        git:
          uri: https://github.com/jiangjj/spring-cloud
          search-paths: config-files
server:
  port: 8888

search-paths表示搜索配置文件所在的目录,其父目录为git的uri,所以此配置中的配置文件将保存在https://github.com/jiangjj/spring-cloud/config-files 目录下。

启动服务端后,可以通过浏览http://localhost:8888/licensingservice/default 查看licensingservice.yml配置文件的信息。

3.将Spring Cloud Config与Spring Boot客户端集成

上图展示了客户端通过配置管理中心获取配置信息的过程。

3.1 添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

3.2 配置客户端去使用Spring Cloud Config

客户端的bootstrap.yml文件:

spring:
  application:
    name: licensingservice
  cloud:
    config:
      uri: http://config-server:8888

3.3 更新配置文件

服务端与客户端都需要添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-monitor</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

启动一个rabbitMQ,服务端和客户端都连接到mq上,配置文件修改后,需要发送一个POST请求到服务端的/monitor断点上,body为path={name}的form-encoded。

3.4 保护敏感信息

需要先安装Oracle JCE jars,自行百度。 在服务端添加系统环境变量ENCRYPT_KEY或在配置文件bootstrap.yml中添加:

encrypt:
  key: myEncryptKey

敏感信息通过服务端的/encrypt端点加密,然后以{cipher}开头添加到配置文件中:

my:
  message: myMessage4
  encryptMessage: '{cipher}a605a2097c68da8a4925b7bf8a04b3c6ab850713b1a2a0c8a4a331b557cbd9f8'

转载于:https://my.oschina.net/u/869718/blog/2250367

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值