欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringCloud学习笔记-Spring Cloud Config(二)

程序员文章站 2022-07-03 18:06:05
...

Spring Cloud Config

与Eureka配合使用

  1. Config ServerConfig Client 都注册到 Eureka Server 上,注册到Eureka Server的配置信息要增加到 bootstrap.yml 上。
  2. Config Clientbootstrap.yml 增加如下配置:
spring:
  application:
    # 对应Config Server所获取的配置文件的 {application}
    name: config
  cloud:
    config:
      # Config Server 的链接
      uri: http://localhost:8080
      # profile对应 config server 所获取的配置文件中的{profile}
      profile: dev
      # 指定Git仓库的分支,对应config server所获取的配置文件的{label}
      label: master
      discovery:
        # 表示开启通过服务发现组件访问Config Server 的功能,默认false
        enabled: true
        # 指定 Config Server 在服务发现组件中的 serviceId
        service-id: microservice-config-server
eureka:
  client:
    service-url:
      defaultZone: http://myhost:8761/eureka

用户认证

Config Server配置

  1. 增加security依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
  1. 为Config Server添加基于 HTTP basic 的认证,需要新增加配置类:
@Configuration
public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Bean
    PasswordEncoder passwordEncoder(){
        //不操作密码编码器,方便调试使用
        return NoOpPasswordEncoder.getInstance();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser("user").password("pwd").roles("admin");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().authenticated().and().httpBasic();
    }
}

Config Client 配置

指定 Config Server 的账号与密码:

spring:
  cloud:
    config:
      # Config Server 的链接
      uri: http://localhost:8080/
      username: user
      password: pwd

Config Server 的高可用

Config Server 的高可用依赖Git仓库的高可用RabbitMQ的高可用。

Git仓库的高可用

由于配置内容都存储在Git仓库中,所以想要实现 Config Server 的高可用,必须有一个高可用的Git仓库。有两种方式可以实现Git仓库的高可用:

  • 使用第三方Git仓库。如,Github、Gitee等。
  • 自建Git仓库,如,Gogs、GitLab等。

RabbitMQ高可用

可使用Docker的方式搭建,参考链接:
https://www.cnblogs.com/sgh1023/p/11296013.html

Config Server 自身的高可用

只需将多个 Config Server 节点注册到 Eureka Server上,即可实现 Config Server 的高可用。
SpringCloud学习笔记-Spring Cloud Config(二)

相关标签: SpringCloud