java 应用配置的几个阶段,你到哪一步了?

配置作为应用的重要组成部分,往往是应用初始化需要的关键依赖。一般来说会经历如下几个阶段:

第一阶段:配置在代码中

这种情况通常是项目初期或者项目刚开始的时候,无所谓位置,代码work即可。

第二阶段:配置在文件中

当配置零散在代码各处,维护和检索变得十分麻烦,或者使用框架,我们会把配置提取出来,固化在文件中。至于具体的文件类型则无所谓,一般有 xml ,property文件,yml等可能。配置文件极有可能是多份。

java 应用配置的几个阶段,你到哪一步了?


第三阶段:配置文件区分环境

一个完整的应用,一般有多套环境,可能多到 开发,测试,预发布,正式,甚至演示环境。数据库,缓存,各种中间件,RPC和http接口,各种开关均有不同配置。

所以我们可以选择将配置与环境绑定。

恰好主流的框架都支持这套思路,

如: maven支持多profile打包,可以维护多份profile,然后打包时注入对应环境的文件。

java 应用配置的几个阶段,你到哪一步了?


再比如:spring framework也支持多profile。springboot运行时可以指定环境,spring会选择加载对应环境的配置文件。

另外:不同环境的环境变量,如: dns服务器,域名,外部配置文件等也是一种思路

第四阶段:引入外部统一配置中心

当对配置的需求复杂到一定程度后,我们还有终极应对手段,也即外部统一配置中心。

配置中心不同的实现有不同的能力。

使用springcloud全家桶的可以选择 spring cloud config。但是小编个人更推荐由携程来源的apollo。无论是性能,易用性,功能完整度上都更胜一筹,是优秀的开源项目的代表之一。

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器

java 应用配置的几个阶段,你到哪一步了?


不知道您的项目处于哪个阶段呢?

适合自己的才是最好的,能解决问题的前提下没有必要求新求全

喜欢请点赞~转发~您的支持是我的最大动力!������



分享到:


相關文章: