阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

认识配置中心

143次阅读
没有评论

共计 1422 个字符,预计需要花费 4 分钟才能阅读完成。

1、配置中心概述

配置中心是集中管理配置信息的组件。它通常提供配置变更、配置推送、历史版本版本管理、灰度发布、配置变更审计等功能。通过这些功能可以降低分布式系统中管理配置信息的成本,降低因错误的配置信息变更带来可用性下降甚至发生故障的风险。

2、配置信息的管理方式

2.1、使用配置文件

在集中式开发架构中通常使用此种方法。在系统部署到生产环境后,如果需要修改一个配置信息,则需要先登录到服务上修改信息,然后刷新配置文件或重启服务。

这种管理配置信息的方式虽然简单方便,但因为没有集群,所以无法保证服务的高可用。

2.2、使用数据库

网站的系统配置信息大都是存储到数据库的。以 MySQL 为例,可以把表设计成 Key 和 Value 两列,Key 是主键,Value 是值。

如表:

KeyValue
Sitename刘先生的个人博客
Email2571535319@qq.com
Filetype|.gif|.jpg|.swf|.rar|
Filesize4096

这种方法需要单独创建表或者字段,且不能主动刷新。所以,这种方式不能很好地满足分布式系统的配置需求。

在分布式系统中,构建、发布、配置、上线这些过程如果没有一套科学完整的体系,则会非常复杂、烦锁。它涉及将软件包 (JAR、WAR 等) 分发到多台机器中,如果需要修改配置信息,则不能按集中式的管理办法来实施,需要有一个专业的配置中心来实现分布式系统的配置信息变更,比如:线程池、连接池大小、开关、预案、限流配置、功能特性切换、数据源主备容灾切换、路由规则等。

2.3、使用配置中心

在微服务架构下,可以使用诸如 Spring Cloud Config、Apollo、Nacos 等专业的配置中心来管理配置信息。通过配置中心,可以动态刷新 (自动或手动) 配置信息到应用程序中,使修改及时生效。

认识配置中心

3、对比主流配置中心

开源的配置中心有很多,比如,360 的 QConf、淘宝的 DIamond、百度的 Disconf、携程的 Apollo、Apache Commons Configuration、Owner、Cfg4J、Spring Cloud Config 等。

主流配置中心对比:

功能Spring Cloud ConfigApolloNacosDisconf
开源时间2014 年 9 月2016 年 5 月2018 年 6 月2014 年 9 月
单机部署Config Server+Git+Spring Cloud BusApollo-quickstart+MySQLNacos 单节点支持
配置实时推送支持(基于 Spring Cloud Bus)支持(HTTP 长轮询 1s 内)支持(HTTP 长轮询 1s 内)支持
分布式部署Config Server+Git+MQ+Spring Cloud BusConfig+Admin+Portal+MySQLNacos+MySQLDisconf+MySQL
版本管理支持支持支持支持
配置回滚支持支持支持支持
灰度发布支持支持支持支持
权限管理支持支持支持支持
集群支持支持支持支持
多环境支持支持支持支持
监听查询支持支持支持支持
配置锁支持不支持不支持不支持
数据一致性Git 保证数据一致性数据库模拟消息队列HTTP 异步通知
配置界面统一界面统一界面统一界面
单点故障支持 HA 部署支持 HA 部署支持 HA 部署支持 HA 部署,高可用由 Zookeeper 提供
对 Spring Cloud 的支持支持支持支持支持

Spring Cloud Config 功能全面、强大、可以无缝地和 Spring 体系相结合,使用方便简单。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-06-06发表,共计1422字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中