配置中心(Config、Bus)

1.技术背景

如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多。此时,往往某一个基础服务信息变更都会导致一系列服务的更新和重启,运维也是苦不堪言,而且还很容易出错。配置中心便由此应运而生了日前市面上开源的配置中心很多,像 Spning家族的 Spring Cloud Config、 Apache的 ApacheCommons Configuration,淘宝的 diamond、百度的 disconf、360的 QConf等,都是为了解决这类问题。当下 Spring体系大行其道,我们也优先选择了 Spring Cloud Config。

2.Spring Cloud Config

Spring Cloud Config是一套为分布式系统中的基础设施和微服务应用提供集中化配置的管理方案,分为服务端与客户端两个部分。服务端也称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库并为客户端把供获取配置信息。客户端是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理服务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息.

Spring Cloud Config对服务端和客户端中的环境变量和属性配置实现了抽象映射, 所以除了适用于Spring应用, 也是可以在任何其他语言应用中使用的。 Spring Cloud Config实现的配置中心默认采用Git来存储配置信息.所以使用Spring Cloud Config构建的配置服务器天然就支持对微服务应用配置信息的版本管理, 并且可以通过Git客户端工具十常方便地管理和访问配置内容, 当然它也提供了对其他存储方式的支持, 比如SVN仓库、本地化文件系统等。

3.Spring Cloud Bus

Spring Cloud Bus被大家称为消息总线, 通过轻量级的消息代理米连接各个分布的节点,可以利用像消息队列的广播机制在分布式系统中进行消息传播,通过消息总线可以实现很多业务功能,其中对于配置中心客户端别新就是一个非常典型的使用场景。下图可以很好地解释消息总线的作用流程。

Spring Cloud Bus进行配置更新的步骤如下:
(1) 提交代码触发post请求给/actuator/bus-refresh。
(2) Server端接收到请求并发送给Spring Cloud Bus.
(3) Spring Cloud bus接到消息并通知给其他客户端。
(4) 其他客户端接收到通知, 请求Server端获取最新配置.
(5)全部客户端均获取到最新的配置。

原文地址:https://www.cnblogs.com/xc-xinxue/p/12543652.html

时间: 2024-08-01 15:35:04

配置中心(Config、Bus)的相关文章

SpringCloud之配置中心Config

commons 工程commons 工程 - POM 文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mav

springcloud应用配置中心config的安全设置

springcloud应用配置中心config的安全设置 在springcloud应用开发中,为了方便在线管理我们的配置文件,通常会配一个配置中心config-server,这里托管着应用的一些配置文件,这些配置文件中配置着我们很多的账号信息:如mysql.redis.mongodb.rabbitmq等等的账号和密码.牵扯到账号信息,想必我们要保证如何保证其安全性. 1.保证容器文件访问的安全性,即保证所有的网络资源请求都需要登录 通过springboot配置属性之security,配置secu

10、服务提供者provider如何使用配置中心config

前面的<配置中心>和<服务注册&服务提供者>这两篇分别讲解了配置中心和服务提供者,但是服务提供者使用的配置文件还是本地的,没有使用配置中心的配置文件.今天看看如何实现服务提供者使用配置中心的配置文件. 1. 新建项目sc-eureka-client-provider-config,项目对应的pom.xml文件如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h

SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版

前言 在上篇中介绍了SpringCloud Config的使用,本篇则介绍基于SpringCloud(基于SpringBoot2.x,.SpringCloud Finchley版)中的分布式配置中心(SpringCloud Config)的配置刷新和消息总线(RabbitMQ和Kafka)使用教程. SpringCloud Config Refresh 在上一篇中我们介绍了springcloud配置中心的本地使用和Git使用的用法,但是当重新修改配置文件提交后,客户端获取的仍然是修改前的信息,需

SpringCloud-高可用的分布式配置中心(config)

当服务实例很多时,都从配置中心读取文件,这是可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用 新建一个注册中心 pom如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&

Spring Cloud第十篇 | 分布式配置中心Config

? 本文是Spring Cloud专栏的第十篇文章,了解前九篇文章内容有助于更好的理解本文: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Cloud第二篇 | 使用并认识Eureka注册中心 Spring Cloud第三篇 | 搭建高可用Eureka注册中心 Spring Cloud第四篇 | 客户端负载均衡Ribbon Spring Cloud第五篇 | 服务熔断Hystrix Spring Cloud第六篇 | Hystrix仪表盘监控

spring cloud 的配置中心config

为啥要配置中心? 微服务架构中,每个项目都有一个yml配置,管理起来麻烦.要使用spring cloud config来统一管理. 它支持配置服务放在配置服务的内存中(即本地),也支持放在远程码云(码云中国的github)仓库中. 在spring cloud config 组件中,分两个角色,一是config server(配置中心),二是config client(客户端配置). 1.1.1. 架构 操作 一:操作码云 1.在码云中建立仓库 下一步 最好选择私有,据说访问要快些 下一步,在新建

SrpingCloud 之SrpingCloud config分布式配置中心实时刷新

默认情况下是不能及时获取变更的配置文件信息 Spring Cloud分布式配置中心可以采用手动或者自动刷新 1.手动需要人工调用接口   监控中心 2.消息总线实时通知  springbus 动态刷新数据 在SpringCloud中有手动刷新配置文件和实时刷新配置文件两种方式. 手动方式采用actuator端点刷新数据 实时刷新采用SpringCloud Bus消息总线 actuator端点刷新数据 在config clientr引入 <dependency> <groupId>o

SrpingCloud config 分布式配置中心

分布式配置中心的作用: 当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现微服务中的所有系统的配置文件的统一管理,而且还可以实现当配置文件发生变化的时候,系统会自动更新获取新的配置. 原理图: 使用码云环境搭建git服务器端:https://gitee.com/ 创建一个配置仓库: config-repo 通过 文件→新建文件(如果有线程的yml配置文件则选择上传) 这里以product.yml为例创建几个不同环