Config Server高可用

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

二 Git仓库的高可用
由于配置的内容都存储在Git仓库中,所以要想实现Config Server的高可用,必须有一个高可用的Git仓库。有两种方式可以实现Git仓库的高可用。
1 使用第三方的Git仓库:这种方式非常简单,可使用例如Github、BitBucket、[email protected]、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 #false\u7981\u7528Consul\u914d\u7f6e\uff0c\u9ed8\u8ba4true
        format: YAML    # \u8868\u793aconsul\u4e0a\u9762\u6587\u4ef6\u7684\u683c\u5f0f \u6709\u56db\u79cd YAML PROPERTIES KEY-VALUE FILES
        #data-key: configuration    #\u8868\u793aconsul\u4e0a\u9762\u7684KEY\u503c(\u6216\u8005\u8bf4\u6587\u4ef6\u7684\u540d\u5b57) \u9ed8\u8ba4\u662fdata
        data-key: data    #\u8868\u793aconsul\u4e0a\u9762\u7684KEY\u503c(\u6216\u8005\u8bf4\u6587\u4ef6\u7684\u540d\u5b57) \u9ed8\u8ba4\u662fdata
        #prefix\u8bbe\u7f6e\u914d\u7f6e\u503c\u7684\u57fa\u672c\u6587\u4ef6\u5939
        #defaultContext\u8bbe\u7f6e\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u4f7f\u7528\u7684\u6587\u4ef6\u5939\u540d\u79f0
        #profileSeparator\u8bbe\u7f6e\u7528\u4e8e\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u5728\u5c5e\u6027\u6e90\u4e2d\u5206\u9694\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7684\u5206\u9694\u7b26\u7684\u503c
    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 #false\u7981\u7528Consul\u914d\u7f6e\uff0c\u9ed8\u8ba4true
        format: YAML    # \u8868\u793aconsul\u4e0a\u9762\u6587\u4ef6\u7684\u683c\u5f0f \u6709\u56db\u79cd YAML PROPERTIES KEY-VALUE FILES
        #data-key: configuration    #\u8868\u793aconsul\u4e0a\u9762\u7684KEY\u503c(\u6216\u8005\u8bf4\u6587\u4ef6\u7684\u540d\u5b57) \u9ed8\u8ba4\u662fdata
        data-key: data    #\u8868\u793aconsul\u4e0a\u9762\u7684KEY\u503c(\u6216\u8005\u8bf4\u6587\u4ef6\u7684\u540d\u5b57) \u9ed8\u8ba4\u662fdata
        #prefix\u8bbe\u7f6e\u914d\u7f6e\u503c\u7684\u57fa\u672c\u6587\u4ef6\u5939
        #defaultContext\u8bbe\u7f6e\u6240\u6709\u5e94\u7528\u7a0b\u5e8f\u4f7f\u7528\u7684\u6587\u4ef6\u5939\u540d\u79f0
        #profileSeparator\u8bbe\u7f6e\u7528\u4e8e\u4f7f\u7528\u914d\u7f6e\u6587\u4ef6\u5728\u5c5e\u6027\u6e90\u4e2d\u5206\u9694\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\u7684\u5206\u9694\u7b26\u7684\u503c
    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

原文地址:https://www.cnblogs.com/linjiqin/p/10339420.html

时间: 2024-10-17 11:52:50

Config Server高可用的相关文章

SQL Server 高可用方案

方案一:Asynchronous Mirror + Alias 方案介绍 数据库服务器配置异步镜像关系,程序客户端连接串配置别名连接. 1. 在SQL Server客户端配置中创建别名,在客户端的连接串设置中用别名代替服务器名或IP地址. 2. 写一个实用程序,在镜像角色切换的时候,更新别名. 3. 更新别名可通过修改相应的注册表字符串来完成,位于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo 方案优缺点 优点

SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建

因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(理论篇) SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域.DNS服务器和Windows故障转移群集(准备工作) SQL Server ->> 高可用与灾难恢复(H

sql server 高可用日志传送

原文:sql server 高可用日志传送 一. 日志传送概述 SQL Server使用日志传送,可以自动将主服务器的事务日志备份发送到一个或多个辅助数据库上.可选的监视服务器,记录备份和还原操作的历史记录及状态. 优点 提供灾难恢复解决方案 支持对辅助数据库的受限的只读访问权限 允许用户定义日志发送的延迟时间(如果主数据库上的数据被意外更改,则较长的延迟会很有用) 术语和定义 备份作业 主服务器的代理作业,它执行备份操作,将事务日志记录到本地服务器和监视服务器,删除旧的记录. 复制作业 主服务

京东云数据库RDS SQL Server高可用概述

数据库的高可用是指在硬件.软件故障发生时,可以将业务从发生故障的数据库节点迁移至备用节点.本文主要讲述SQL Server高可用方案,以及京东云RDS数据库的高可用实现. 一.高可用解决方案总览 1.故障转移集群 故障转移集群为整个SQL Server实例提供高可用性支持,这意味着在集群上某个节点的SQL Server实例发生了硬件错误.操作系统错误等会故障转移到该集群上的其它节点.通过多个服务器(节点)共享一个或多个磁盘来实现高可用性,故障转移集群在网络中出现的方式就像单台计算机一样,但是具有

搭建 RabbitMQ Server 高可用集群

阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 因为公司测试服务器暂不能用,只能在自己电脑上重新搭建一下 RabbitMQ Server 高可用集群,正好把这个过程记录下来,以便日后查看. 公司测试服务器上的 RabbitMQ 集群,我搭建的是三台服务器,因为自己电脑空间有限,这边只能搭建两台服务器用作高可用集群,用的是 Vagrant 虚拟机

sql server 高可用故障转移(2)

添加网卡心跳线 目标: 二台sql服务器需要添加网卡心跳线,用于sql server内部数据传输 计算机名 Ip信息 心跳线 Hsr1 192.168.2.50    (ipv4 ip) 255.255.255.0   (掩码) 192.168.2.1     (网关) 192.168.2.52    (dns) 100.100.100.1  (ipv4 ip) 255.255.255.0  (掩码 不需要配置网关及DNS hsr2 192.168.2.51 255.255.255.0 192.

sql server 高可用故障转移(4)

二台sql服务器配置ISCSI虚拟磁盘 在上篇我们利用ISCSI Target软件在DC-ISCSCI上创建了三个ISCSI虚拟磁盘,在下面我们将为大家介绍SQL-CL01(hsr1 50)和SQL-CL02(hsr2  51)如何访问这些ISCSI虚拟磁盘. SQL-CL01和SQL-CL02可以使用ISCSI协议访问DC-ISCSCI上的虚拟ISCSI磁盘,由于Windows Server 2008已经内置了ISCSI协议,因此我们无需在SQL-CL01和SQL-CL02上安装ISCSI客户

SQL Server 2008 R2高可用解决方案--镜像(证书)

SQL Server高可用方案--镜像搭建(证书) 环境: 角色 IP 操作系统 数据库版本 数据库 主 192.168.10.8 Windows Server  2008 R2 SQL Server 2008 R2 fdb 备 192.168.10.9 Windows Server  2008 R2 SQL Server 2008 R2 fdb 一.环境检查 1.网络是否互通 2.防火墙端口是否开放(需要开放1433.5022端口) 3.数据库软件版本是否有差异(软件版本为SQL Server

Lync Server 2013 部署 _ 前端中添加第二台Server&DNS轮询实现高可用

这一章介绍如何向Lync Server前端池中添加Lync服务器 Lync Server前端高可用实现方法三种,其实微软官网的方法只列出了两种,并且网络上的文章很多都强调了无法使用Windows自带的网络负载平衡进行高可用配置 DNS轮询,可分摊Lync Server的网络访问流量,这章节会介绍DNS轮询实现前端高可用 硬件负载平衡 Windows组件网络负载平衡,这个功能官网没有指出可以使用,并且网络上很多文章都说网络负载平衡这个组件不支持Lync Server前端高可用,我们将会通过Wind