首页
学习
活动
专区
工具
TVP
发布

应用配置管理,基础原理分析

工程可以有点小乱,但配置不能含糊; 一、配置架构 在微服务的代码工程中,配置管理是一项复杂的事情,即需要做好各个环境的配置隔离措施,还需要确保生产环境的配置安全;如果划分的微服务足够的多,还要考虑配置更新时的效率...; 常规情况下,在配置管理的体系中,分为四个主要的环境:开发、测试、灰度、生产;通常来说除了运维团队之外,其他人员没有查看灰度和生产配置的权限,以此来保证配置的安全性;配置中心的服务也会搭建两套:研发与生产各自独立部署...二、配置方式 在项目中涉及到的配置非常多,类型也很多,但是从大的结构上可以分为:工程级、应用级、组件级三大块;实际上这里只是单纯的从代码工程来看配置,如果把持续集成、自动化相关模块也考虑进来的话,配置的管理会更加复杂...; 站在开发的角度来看,主要还是对应用级的配置进行管理,而在微服务的架构下,多个不同的服务既有大量相同的配置,又存在各种差异化的自定义参数,所以在维护上有一定的复杂性; 在单服务的工程中,应用中只会存在一个...bootstrap.yml配置文件,配置内容基本就是服务名称,和配置中心地址等常规内容,其他复杂的配置都被封闭维护,避免核心内容泄露引发安全问题; 配置主体通常会被拆分成如下几个层次:环境控制,用来识别灰度和生产;应用基础

35920
您找到你想要的搜索结果了吗?
是的
没有找到

结合例子讲解 Kubernetes 如何实现应用配置管理

比如说应用需要使用一些密码,或者用一些 token; 第三就是我们容器要访问集群自身。...Pod 的配置管理 在 Kubernetes 里面,它是怎么做这些配置管理的呢?...它其实主要是管理一些可变配置信息,比如说我们应用的一些配置文件,或者说它里面的一些环境变量,或者一些命令行参数。 它的好处在于可以让一些可变配置和容器镜像进行解耦,这样也保证了容器的可移植性。...举例:Pod 里的应用访问它所属的 K8s 集群 介绍完 ServiceAccount 以及它对应的 secret 后,我们来看一下,pod 是怎么利用 ServiceAccount 或者说它是怎么利用...Resource 容器资源配合管理 下面介绍一下 Resource,即:容器的一个资源配置管理。目前内部支持类型有三种:CPU、内存,以及临时存储。

66020

【K8S专栏】Kubernetes应用配置管理

不论什么样的应用,基本都有配置文件,在企业中,大部分会用到配置中心,比如apollo、nacos等,也有一些公司直接使用Kubernetes自带的配置管理,主要有: Secret ConfigMap Secret...secretKeyRef: name: secret-auth-test key: password 这样就会把Secret里的信息注入到容器环境变量里,应用可以直接通过读取环境变量来使用...ConfigMap ConfigMap和Serect类似,不同之处在于ConfigMap保存的数据信息是不需要加密的,比如一些应用的配置信息,其他的用法和Secret一样。...虽然配置信息更新,应用到底能不能使用,主要还是依赖应用是否也会热更新。...总结 ConfigMap在实际中用的还是比较多,主要都是一些应用的配置文件,比如Nginx配置文件,MySQL配置文件,这类配置文件如果想放到私有的配置中心需要额外花费更多的精力,而放到ConfigMap

46810

有了CMDB,为什么还要应用配置管理

二、应用配置管理是面向应用的管理,是运维的核心 上面说明了CMDB的基础信息部分,如果从传统的SA运维模式,这些信息已经足够,但是从应用运维的角度,这些就远远不够了。...好了,按照上面CMDB说的套路,梳理完成后,就是要进行信息的建模和数据的固化,这时就有了我们的——应用配置管理。...再往后,就是基于应用配置管理的流程规范和工具平台的建设,这就涉及到我们经常说的持续集成&发布&交付,监控、稳定性平台、成本管理等等。...从应用的视角,我们配置管理,应该是下面这样一个视图(简单示例,不是完整的): ? 三、CMDB和应用配置管理的关系 有了资源配置信息和应用配置信息,这两个信息应该怎么统一管理起来呢。直接上图: ?...至此,CMDB和应用配置管理的分层分解就完成了,应用名关联着应用配置信息,IP关联着资源信息,二者通过应用名-IP的对应关系,联系到一起。

1.7K30

ZooKeeper 笔记(3) 实战应用之【统一配置管理

大型应用通常会按业务拆分成一个个业务子系统,这些大大小小的子应用,往往会使用一些公用的资源,比如:需要文件上传、下载时,各子应用都会访问公用的Ftp服务器。...,或其它类似的统一存储,比如ZooKeeper中) 2、对这些公用配置的添加、修改,应该有一个统一的配置管理中心应用来处理(这个也好办,做一个web应用来对这些配置做增、删、改、查即可) 3、当公用配置变化时...刚开始时,配置管理中心从db中加载公用配置信息,然后同步写入ZK中,然后各子应用从ZK中读取配置,并监听配置的变化(这在ZK中通过Watcher很容易实现)。...如果配置要修改,同样也先在配置管理中心中修改,然后持久化到DB,接下来同步更新到ZK,由于各子应用会监听数据变化,所以ZK中的配置变化,会实时传递到子应用中,子应用当然也无需重启。 示例代码: ?...ConfigManager cfgManager = new ConfigManager(); ClientApp clientApp = new ClientApp(); //模拟【配置管理中心

1.5K50

配置管理

《持续交付 发布可靠软件的系统方法》读书笔记 配置管理 配置管理是指一个过程,通过该过程,所有与项目相关的产物,以及它们之间的关系都被唯一定义、修改、存储和检索。...配置管理策略将决定如何管理项目中发生的一切变化。因此,它记录了你的系统以及应用程序的演进过程。另外,它也是对团队成员协作方式的管理。 版本控制 版本控制系统的目的有两个。...依赖管理主要包括: 外部库文件管理 组件管理 软件配置管理 软件在构建、部署和运行时,我们可以通过配置信息来改变它的行为。...小结 配置管理是本书其他内容的基础。没有配置管理,根本谈不上持续集成、发布管理以及部署流水线。它对交付团队内部的协作也会起到巨大的促进作用。...如果配置管理流程比较好的话,对于下面的问题,你的回答都应该是肯定的: 是否仅依靠保存于版本控制系统中的数据(除了生产数据),就可以从无到有重建生产系统?

57510

软件配置管理

例如,源代码版本管理系统就属于软件配置管理工具,它包含代码仓库中所有代码的修订信息。 二、什么是软件的可重现性?...通过软件配置管理就可以获得上述两项能力,因为软件配置管理原则是: 一切皆有版本; 共享唯一受信源(需求仓库、代码仓库、软件包仓库); 标准化与自动化; 四、如何检查软件配置管理是否做得足够好?...在没有他人的帮助下,任何团队成员都可以一键式自动化搭建出一套应用软件系统,用于体验产品新功能吗? 五、如何验证检查你的项目是否对一切都做了版本管理?...产品源代码和测试代码是否放入了版本控制系统; 软件应用的配置信息是否放入了版本控制系统; 各类环境的系统配置是否放入了版本控制系统; 自动化的构建和部署脚本是否放入了版本控制系统; 软件包是否进行了版本管理

77810

Asynchronous Servlet 在 Nacos 1.X 动态配置管理中的应用

于 2018 年正式开源,其核心特性有:服务发现、动态配置管理 和 动态 DNS 服务。...笔者所在的云网络控制台团队使用 Nacos 来做配置管理,那么以 Nacos 为代表的配置中心究竟解决了哪些痛点问题呢?...配置,作为代码如影随形的小伙伴,伴随着应用的整个生命周期,一般有三种形式:1) 硬编码,配置项通过类字段来承载;可以暴露 API 实现动态变更,但配置变更是发生在堆内存中的,没有持久化,一旦应用重启,配置项会回退到代码中的默认值...接下来,让我们一起来简单地学习下长轮询在 Nacos 动态配置管理中的落地思路。...坦白来说,一个 Spring Boot 应用就应该对应一个 dataId + group + namespace,但万一哪个大聪明给一个 Spring Boot 应用搞了几百上千个 dataId + group

57210

【Docker】容器化应用程序的配置管理策略与实践

开发人员需要在不同的环境中测试和部署应用程序,而运维人员则需要处理不同的软件包和配置管理。这些问题使得应用程序的交付和运行变得困难和耗时。 Docker的出现解决了这些问题。...四、容器化应用程序的配置管理 容器化应用程序的配置管理是确保应用程序在不同环境中正确配置的重要方面。...4.3 使用配置管理工具(如Consul、etcd)实现动态配置 【1】配置管理工具:可以使用配置管理工具(如Consul、etcd)来实现动态配置。...【3】配置变更通知:配置管理工具通常提供配置变更通知的功能,可以实时通知应用程序配置的变化。应用程序可以订阅配置变更事件,及时更新配置。...【2】应用程序状态备份:除了数据备份外,还应该备份应用程序的状态和配置信息。可以使用配置管理工具(如Ansible、Chef、Puppet)来管理和备份应用程序的配置文件和状态。

27130

如何让云上的 Spring Cloud 应用配置管理舞动起来

在微服务架构中,应用数和节点数由于微服务化数量激增,导致发布次数增加,配置变更难度加大,通常是将应用配置抽象出来放置在外部的配置中心里,从而实现配置变更的自动化,但这类原生方案会存在依赖严重、发布延时高的问题...▌ 阿里云ACM为spring cloud带来的配置管理优化 阿里云应用配置管理服务ACM,作为Nacos的云上实现,可以将以上的配置管理问题进行优化,配置修改将变得异常简单和高效,如下图所示。 ?...ACM全面兼容Spring框架接口,包括Spring Framework、Spring Boot和Spring Cloud,其为 Spring Cloud编写的应用配置管理,和Spring Cloud...Spring Cloud用户可以基于SpringCloud Config提供的接口将Spring Cloud应用配置管理无缝迁移到ACM上,大幅度提升基于Spring Cloud框架的微服务应用配置管理敏捷性...以上两处修改完成之后,重新打包编译Spring Cloud程序,即可将配置管理转为ACM托管。

63820

配置管理 vs provisioning 及配置管理工具的几点随想

关于“怎么构建一个确定的运行环境”这件事,有多个流派,其中一个是配置管理,另一个是provision流。 配置管理流派,适合于物理服务器、虚拟机等等,有机会长期存活的环境。...再说说配置管理工具的几点随想: 我最近一年在给下属的一个公司做一些产品运维工作,其中遇到把设备投放到客户的网络环境去运行这种情况。...在通信的角度来考虑,配置管理工具可以分为:master主动连接minion(ansible等)、minion主动连接master(puppet、saltstack等) 今天听师兄说他的一个同事因为认知问题...在“有没有agent”的角度考虑,配置管理工具可以分为:有agent(saltstack、puppet、cfengine等)和无agent(ansible等) 另外,其实还有一个分类角度,就是主动和被动

11210
领券