Spring Cloud分布式配置中心

分布式配置中心

我们回顾一下到目前为止已经接触过得微服务:

  • 服务发现注册中心
  • 服务消费者
  • 服务提供者
  • 配置中心
  • 配置客户端

所以可以发现:除了注册中心以外,其他的服务都可以抽象成一个微服务,因此也可以借鉴先前的经验做成高可用分布式架构。要做到上述配置,我们只需要遵守一个规则:将所有的Config Server都指向同一个Git仓库,这样所有配置的内容通过统一的共享文件系统来维护。

img

等到客户端指定Config Server位置时,只需要配置Config Server外的负载均衡即可。

由此,我们可以得出一个结论:配置服务只是提供不同请求的一个微服务而已,所以只需要将其也注册为服务,这样所有客户端就可以通过服务的方式进行访问。

配置刷新

有时候需要对配置内容做实时更新,只需要集成Spring Boot Actuator即可。其中包括/refresh端点可以用于刷新配置。

总结

不难想到,当Git仓库的Web Hook与此功能进行关联。当Git提交变化时,就给对应配置主机发送/refresh请求实现配置信息的实时变更。

当我们的系统发展壮大之后,维护这样的刷新清单也将成为一个非常大的负担,而且很容易犯错,那么有什么办法可以解决这个复杂度呢?后续我们将继续介绍如何通过Spring Cloud Bus来实现以消息总线的方式进行通知配置信息的变化,完成集群上的自动化更新。

文章引用


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!