目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7090.6k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(131)
赞(0)

为什么需要分布式配置中心

项目背景

我们现在有一个项目,使用SpringBoot进行开发的,配置文件的话我们知道是一个叫做application.yml的文件。

image-20231029172132990

需求一

由于业务的变动,用户在以前进行注册的时候默认的数据库在192.168.47.100,但是该节点数据库出现问题,需要把IP这个改成192.168.47.101。因为,业务的流量还是比较大的,所以,没有办法在白天流量高峰期修改配置文件,进行重启!

问题:

就辛苦开发的小哥,他们需要等到半夜里凌晨三四点的时候,没有流量的时候,小心翼翼的去修改application.properties配置文件,必将系统进行重启。开发小哥是在忍受不了这种变更了,修改一个配置就需要如此周折的去完成这件事情!忍无可忍。

需求二

我们在进行业务开发的时候,一般会有多个环境,至少应该有三个:开发、测试、线上。那这三个环境之间的配置文件肯定是有不同的,比如说他们之间的数据库是肯定不同的!

image-20231029172953369

分别需要设置的命令如下:

运维小哥的工作量直接翻了一倍多,想想还有十几个项目需要这样进行修改,运维小哥悄悄的拿起了抽屉里准备了很久的xxx走向了开发小哥。

主要缺点:

  • 不支持配置文件的动态更新:在实际的业务开发过程中,需要动态地更新配置文件,比如切换业务功能开关、变更图片服务器地址、变更数据库连接信息等。在传统配置模式下,需要修改本地配置文件并重新打包,然后重启应用并发布,这样才能保证配置文件能够生效。但这样会导致该服务在重启阶段不可用,从而影响服务整体的可用率。
  • 不支持配置集中式管理:在微服务架构中,为了保证某些核心服务的高性能会部署几百个节点。如果在每个节点上都维护一个本地配置文件,则不管是对运维人员或者开发人员而言,成本都是巨大的。
  • 不支持多环境部署:如果通过底层框架来维护不同环境的信息,则成本也是非常高的。

image-20220316172729113

注意:

把各个服务的某些配置信息统一交给第三方中间件来维护,分布式配置管理上的数据变变更,需要实时地推送到相对应的应用服务节点上。

image-20220318161314993

实时效果反馈

1.不使用分布式配置中心有那些缺点是_____。

A 不支持配置文件的动态更新

B 不支持配置集中式管理

C 不支持多环境部署

D 以上都是正确

答案

1=>A

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2