微服务 分布式配置中心Apollo
- 概览
- 什么是配置
- 什么是配置中心
- Apollo简介
- Apollo入门案例
- Apollo应用
- Apollo应用于分布式系统
概览
什么是配置
先考虑几个问题
什么是配置,为什么需要配置,配置有哪些特点?
揭晓答案
配置就是应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。常见的配置properties,yml,xml等。
没有配置也可以在代码写死,为什么需要配置文件,其实这个问题就是配置文件的优点了,比如,统一管理配置信息,灵活调整,方便扩展。
配置特点
-
配置是独立于程序的只读变量
配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为
其次,配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置。 -
配置伴随应用的整个生命周期
配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为。
比如:启动时需要读取服务的端口号、系统在运行过程中需要读取定时策略执行定时任务等。 -
配置可以有多种加载方式
常见的有程序内部硬编码,配置文件,环境变量,启动参数,基于数据库等 -
配置需要治理
权限控制:由于配置能改变程序的行为,不正确的配置甚至能引起灾难,所以对配置的修改必须有比较完善的权限控制。
不同环境、集群配置管理:同一份程序在不同的环境(开发,测试,生产)、不同的集群(如不同的数据中心)经常需要有不同的配置,所以需要有完善的环境、集群配置管理。
什么是配置中心
先考虑两个问题,什么是配置中心,为什么需要配置中心。
揭晓答案
先说为什么需要配置中心,传统的配置有什么问题。
每一种微服务组件都是一种微服务解决方案的落地实践,每一种微服务解决方案必然是为了解决微服务中出现的痛点,也就是问题。