SpringCloud Config

初体验

springcloud版本

<spring-cloud.version>Greenwich.SR2</spring-cloud.version>

config-server

pom

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

配置

server.port=7001
spring.application.name=config-server

# git仓储地址
spring.cloud.config.server.git.uri=https://gitee.com/jq233/spring-cloud-config
# 配置文件所在的目录
#spring.cloud.config.server.git.search-paths=./
# git提交时需要的的用户名密码
spring.cloud.config.server.git.username=user
spring.cloud.config.server.git.password=123

启动类加注解

@EnableConfigServer
@SpringBootApplication
public class ConfigServerApplication {

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

}

config-client

pom

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<!-- 这个包必须要,不然会导致闪退,抛出异常:javax.management.InstanceNotFoundException -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>

配置,注意配置文件名称需要改动
在这里插入图片描述

# 配置文件名
spring.application.name=app
# profile
spring.cloud.config.profile=default
# 分支
spring.cloud.config.label=master
# 配置中心地址
spring.cloud.config.uri=http://localhost:7001

server.port=7002

git文件

在这里插入图片描述在这里插入图片描述

属性覆盖

属性覆盖属于配置中心服务端的功能,他为所有的应用提供了一致的map,可以覆盖配置文件里的内容

# 属性覆盖
spring.cloud.config.server.overrides.from=overridesFrom

安全保护

登录配置中心可以加密码

server

加入pom和配置文件

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
# 安全保护
spring.security.user.name=user
spring.security.user.password=123

client

这样就可以用账号密码登录配置中心了

# 安全保护
spring.cloud.config.username=user
spring.cloud.config.password=123

对称加密解密

关于网上很多教程都是抄那本书:《SpringCloud微服务实战》,可能由于版本问题,他那种方式配起来不大行。我就照着自己的方式配置,有两点不同:

  1. 1.8里面自带了不限长度JCE。我没复制到security目录下。
  2. 控制台不会输出加密解密的端点信息。在这里插入图片描述

我们可以先直接访问配置中心端点:http://localhost:7001/encrypt/status,他会报错
在这里插入图片描述
然后我们在server端增加配置文件,加入配置信息
在这里插入图片描述重启项目,然后再次访问上述的端点
在这里插入图片描述
然后我们使用加密端点:http://localhost:7001/encrypt,我用的postman,记住把安全保护关了,不然总是提示401没有权限。
在这里插入图片描述然后在配置文件中替换
在这里插入图片描述这样当client拿到配置文件的时候,就是经过配置中心进行解密的了。

高可用之服务模式

就是把配置中心当成一个服务注册到Eureka上面去,你开两个配置中心都注册上去,然后Eureka自带服务的负载均衡。这样客户端就轮循的访问配置中心了。

服务端导入Eureka client的包然后注册上去。

客户单也是一样不过多样东西:

# 注册到Eureka
eureka.client.service-url.defaultZone=http://192.168.1.4:1111/eureka
# 允许发现配置中心
spring.cloud.config.discovery.enabled=true
# 访问的配置中心的服务名 
spring.cloud.config.discovery.service-id=config-server
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值