前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是应用配置?三分钟带你快速了解应用配置介绍

什么是应用配置?三分钟带你快速了解应用配置介绍

原创
作者头像
嘉为蓝鲸
修改2021-08-09 14:19:25
5190
修改2021-08-09 14:19:25
举报

什么是配置文件?

配置文件是用来存储相关软件的一些信息,如初始化的信息,初始路径和帐号等等,方便程序的移植。

配置文件类型

按照配置文件的形态分为以下几类:

硬编码型

(用开发语言来说就是hard code)即:将软件中配置的数据直接写死在代码中,例如:路径,IP,等待时间等。这种方式不利于数据的修改,但是另一方面来说如果某些数据比较重要且固定,用硬编码的方式可以保护这类的数据不被修改。

文件类型

也就是目前单体应用架构中常用的方式,将源代码与配置文件分开管理,程序在启动时读取指定目录下的文件内容来加载配置信息。这种方式十分有利于制品的晋升,即程序在不同环境中运行时,无须修改代码,只需变更配置文件即可,例如在测试环境需要连接192.168.1.1:3306数据库,而在生产环境运行时,需要连接192.168.1.2:3306数据库,这时只需要变更配置文件即可。

数据库类型

我们一般会将非文本形式的配置的信息存放在数据库中,这种配置一般为功能和业务上的配置,可以动态变更,例如功能开关(新功能上线后,先隐藏起来,等待可以发布时,修改数据库中的数据,即可将功能页面开放出来)。

远程调用型

即所有的配置集中管理起来,所有服务启动或运行时通过接口加载配置,也就是我们所熟知的配置中心的方式。

按照加载类型可分为:

单次加载类型

程序启动时读取的初始化配置,一般不会变化,例如连接数据库的凭据信息等。

动态加载类型

程序运行时,根据业务需求变更的配置信息,例如功能开关,日志级别等。

为什么要配置中心?

随着数字化转型的发展,线下业务逐渐线上化,应用数量与日俱增,应用架构也趋于多样化和复杂化,这对于应用的配置也提出了越来越高的要求。

最初配置信息硬编码在代码中,与代码一起放在源代码仓库中;为了安全性与管理的方便,将配置以文件的形式从代码中分离出来管理,有的方式是将配置文件分发到目标机器的目录上,程序启动时直接读取。有的方式是CI打包时,在不同环境晋升时将配置文件打入程序包内,程序解压运行时从相对目录读取配置。

这些方式的特点是,配置变化慢,配置变更后需要重启服务,所以在应用数量少,架构简单的单体应用阶段,是完全可以满足业务的需求的。但是随着微服务阶段,尤其是容器化应用的到来,服务节点数量指数级增长,按照上述的方式来管理配置就无法满足业务的需求了,这时候,配置中心应运而生。

什么是配置中心?

简单的来说就是将配置信息集中管控,当然随着业务的发展和应用架构的复杂度,对于配置中心的功能要求也非常的多,但总的来讲至少需要满足下面几个需求:

高可用

所有的配置信息集中管理,配置中心的重要性不言而喻。

实时性:

业务的需求需要配置的更新尽快通知到客户端,比如说蓝绿发布,主备切换等场景。

多环境多集群管理:

配置文件的主要场景还是在不同环境下支持同一个程序的运行,所以针对于环境的管理需要保证隔离与统一管理。很多应用还需要多集群部署,所以对于多集群的管理也是十分必要的。

治理:

配置的版本控制,配置的审计,配置权限的控制,配置的灰度发布等。

有人可能会问:热加载也是配置中心非常常用的功能场景呀,其实配置的热加载取决于应用是否支持配置的热加载,如果这个应用在将配置加载在内存后,除了重启进程,没有任何方法能变更内存里的配置,那么对于配置中心来说它也无能为力,配置中心核心的职责是快速将配置的变更通知到目标客户端。

总结

在应用架构日益复杂的时代,对于配置中心需求会越来越旺盛,一个功能强大,稳定的配置中心将会是企业必需的系统。嘉为蓝鲸应用配置中心是一款优秀的配置管理产品,基于CMDB进行扩展,面向应用运维,能以服务树的形式展示应用拓扑,纳管应用相关联的信息,提供应用配置管理、程序包管理、配置文件管理、SQL文件管理、进程管理等功能,并可对接第三方制品库。应用配置中心为上层的应用运维场景提供了配置数据,可以满足应用发布、应用监控、智能运维等各种运维场景对数据消费的需求,是应用运维自动化的基础。

嘉为蓝鲸将持续不断发力、快速迭代,为用户应用和业务运维自动化持续提供强大动能。如果您的企业有相应需求,欢迎联系嘉为蓝鲸!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是配置文件?
  • 配置文件类型
    • 按照配置文件的形态分为以下几类:
      • 按照加载类型可分为:
      • 为什么要配置中心?
      • 什么是配置中心?
      • 总结
      相关产品与服务
      数据库
      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档