• Config Server高可用


    一 简介
    构建高可用的Config Server集群,包括Config Server的高可用,以及依赖Git仓库的高可用。

    二 Git仓库的高可用
    由于配置的内容都存储在Git仓库中,所以要想实现Config Server的高可用,必须有一个高可用的Git仓库。有两种方式可以实现Git仓库的高可用。
    1 使用第三方的Git仓库:这种方式非常简单,可使用例如Github、BitBucket、git@osc、Coding等提供的仓库托管服务,这种服务本身就已经实现了高可用。
    2 自建Git仓库管理系统:使用第三方服务的方式虽然省去了很多麻烦,但是很多场景下,倾向于自建Git仓库管理系统。此时就需要保证自建Git的高可用。

    三 Config Server注册到Eureka Server上
    a、mima-cloud-config-server服务启动两个节点,分为为6063、6066

    b、mima-cloud-config-client服务bootstrap.yml配置
    1、单机bootstrap.yml配置:

    #注意config-client的配置需要放到bootstrap.yml中
    management:
      security:
        enabled: false
    spring:
      application:
        name: mima-cloud-config-client
      cloud:
        consul:
          discovery: 
            instanceId: ${spring.application.name}:${server.port}
          host: localhost
          port: 8500
          config:
            enabled: true #falseu7981u7528Consulu914du7f6euff0cu9ed8u8ba4true
            format: YAML    # u8868u793aconsulu4e0au9762u6587u4ef6u7684u683cu5f0f u6709u56dbu79cd YAML PROPERTIES KEY-VALUE FILES
            #data-key: configuration    #u8868u793aconsulu4e0au9762u7684KEYu503c(u6216u8005u8bf4u6587u4ef6u7684u540du5b57) u9ed8u8ba4u662fdata
            data-key: data    #u8868u793aconsulu4e0au9762u7684KEYu503c(u6216u8005u8bf4u6587u4ef6u7684u540du5b57) u9ed8u8ba4u662fdata
            #prefixu8bbeu7f6eu914du7f6eu503cu7684u57fau672cu6587u4ef6u5939
            #defaultContextu8bbeu7f6eu6240u6709u5e94u7528u7a0bu5e8fu4f7fu7528u7684u6587u4ef6u5939u540du79f0
            #profileSeparatoru8bbeu7f6eu7528u4e8eu4f7fu7528u914du7f6eu6587u4ef6u5728u5c5eu6027u6e90u4e2du5206u9694u914du7f6eu6587u4ef6u540du79f0u7684u5206u9694u7b26u7684u503c 
        config:
          #安全认证设置用户名密码
          uri: http://localhost:6063/ #config-server访问地址
          #指定profile,对应config-server所获取的配置文件中的{profile}
          #配置文件的几种写法
          #{application}-{profile}.yml
          #{application}-{profile}.properties
          #{application}/{profile}.yml
          profile: prod #相当于在远程git项目找到application-prod.properties文件
          label: master

     

    2、高可用bootstrap.yml配置:

    #注意config-client的配置需要放到bootstrap.yml中
    management:
      security:
        enabled: false
    spring:
      application:
        name: mima-cloud-config-client
      cloud:
        consul:
          discovery: 
            instanceId: ${spring.application.name}:${server.port}
          host: localhost
          port: 8500
          config:
            enabled: true #falseu7981u7528Consulu914du7f6euff0cu9ed8u8ba4true
            format: YAML    # u8868u793aconsulu4e0au9762u6587u4ef6u7684u683cu5f0f u6709u56dbu79cd YAML PROPERTIES KEY-VALUE FILES
            #data-key: configuration    #u8868u793aconsulu4e0au9762u7684KEYu503c(u6216u8005u8bf4u6587u4ef6u7684u540du5b57) u9ed8u8ba4u662fdata
            data-key: data    #u8868u793aconsulu4e0au9762u7684KEYu503c(u6216u8005u8bf4u6587u4ef6u7684u540du5b57) u9ed8u8ba4u662fdata
            #prefixu8bbeu7f6eu914du7f6eu503cu7684u57fau672cu6587u4ef6u5939
            #defaultContextu8bbeu7f6eu6240u6709u5e94u7528u7a0bu5e8fu4f7fu7528u7684u6587u4ef6u5939u540du79f0
            #profileSeparatoru8bbeu7f6eu7528u4e8eu4f7fu7528u914du7f6eu6587u4ef6u5728u5c5eu6027u6e90u4e2du5206u9694u914du7f6eu6587u4ef6u540du79f0u7684u5206u9694u7b26u7684u503c 
        config:
          profile: prod
          label: master
          discovery:
            # 默认false,设为true表示使用注册中心中的configserver配置而不自己配置configserver的uri
            enabled: true  
            # 指定config server在服务发现中的serviceId,默认为:configserver         
            serviceId: mima-cloud-config-server

     

    3、获取配置文件属性

    @RestController
    @RefreshScope
    public class ConfigClientController {
    
        @Value("${env}")
        private String env;
        
        @Value("${password}")
        private String password;
        
        @Value("${username}")
        private String username;
    
        @GetMapping("/config/profile")
        public String hello() {
            return this.env+","+this.password+","+this.username;
        }
    }

    http://localhost:6062/config/profile

  • 相关阅读:
    事件处理之二:点击事件监听器的五种写法 分类: H1_ANDROID 2013-09-11 10:32 4262人阅读 评论(1) 收藏
    如何解决安卓SDK无法下载Package的问题 分类: H1_ANDROID 2013-09-09 10:26 1199人阅读 评论(0) 收藏
    adb常用命令 分类: H1_ANDROID 2013-09-08 15:22 510人阅读 评论(0) 收藏
    用IBM WebSphere DataStage进行数据整合: 第 1 部分 分类: H2_ORACLE 2013-08-23 11:20 688人阅读 评论(0) 收藏
    三大主流ETL工具选型 分类: H2_ORACLE 2013-08-23 11:17 426人阅读 评论(0) 收藏
    ETL概述 分类: H2_ORACLE 2013-08-23 10:36 344人阅读 评论(0) 收藏
    POI操作Excel常用方法总结 分类: B1_JAVA 2013-08-23 10:01 349人阅读 评论(0) 收藏
    段的创建表user_segments 分类: H2_ORACLE 2013-08-10 11:13 714人阅读 评论(0) 收藏
    让android项目支持boost 支持c++11
    unity中全屏背景图缩放
  • 原文地址:https://www.cnblogs.com/linjiqin/p/10339420.html
Copyright © 2020-2023  润新知