微服务之Spring Cloud Config分布式配置和Spring Cloud Bus消息总线

Spring Cloud Config 分布式配置


为什么使用Spring Cloud Config分布式配置组件:

在分布式系统中,每一个功能模块都能拆分成一个独立的服务,一次请求的完成,可能会调用很多个服务协调来完成。如果每个服务都有一个独立的配置的话,很不方便维护。简单来说,一个使用微服务架构的应用系统可能会包括成百上千个微服务,因此集中管理很有必要,于是Spring Cloud中提供了Spring Cloud Config分布式配置,把应用原本放在本地文件的配置抽取出来放在中心服务器,从而能够提供更好的管理、发布能力,为不同的微服务应用的所有环境提供了一个中心化的外部配置。


Spring Cloud Config作用:

集中管理配置文件。


Spring Cloud Config概述:

Spring Cloud Config主要是为了分布式系统的外部配置提供了服务器端和客户端的支持,同Eureka一样,Config也分为Config Server端和Config Client端。

Config Server:是一个看横向扩展的,集中式的配置服务器,它用于集中管理应用程序各个环境下配置,是分布式的配置中心,默认使用Git存储配置内容。

Config Client:是一个Config Server的客户端,用于操作存储在Config Server上的配置属性,所有微服务都指向Config Server,启动的时候会请求它获取所需要的配置属性,然后缓存这些属性以提高性能。

 微服务之Spring Cloud Config分布式配置和Spring Cloud Bus消息总线


Config Server从本地读取配置文件:

将所有的配置文件统一写到Config Server目录下,Config Server暴露Http API接口,Config Client调用Config Server的Http API来读取配置文件


Spring Cloud Bus消息总线


为什么使用Spring Cloud Bus消息总线:

当我们使用了Spring Cloud Config管理配置文件,客户端可从服务端获取配置信息,而当Git仓库中的配置文件修改后,客户端并不会获取到修改过后的配置文件的信息,为了让客户端获取最新的配置信息,Spring Cloud提供了Spring Cloud Bus,即消息总线。


什么是Spring Cloud Bus消息总线:

就是一个消息中心,众多微服务实例可以连接到总线上,实例可以往消息中心发送或接收信息。简单来说,是管理和传播所有分布式项目中的消息。


Spring Cloud Bus消息总线的原理:


Spring Cloud Bus通过建立多个应用之间的通信频道,管理和传播应用间的消息,从技术角度来说,应用了AMQP消息代理作为通道,通过MQ的广播机制实现消息的发送和接收。


over~