1. 配置的环境属性
毫无疑问, 在系统持续交付的过程中, 系统最终运行环境的多样性及复杂性毫无疑问增加了我们在配置管理工作上的负担, 有时候, 甚至不夸张的说, 配置就是因环境而生.
这在 Eugen Paraschiv 的博文 Configuration Must Be Environment Specific http://www.baeldung.com/project-configuration-with-spring 里有简单的阐述, 在我的博文现代应用架构中的配置管理面临的挑战 https://yq.aliyun.com/articles/332375?spm=5176.8091938.0.0.909f6aaXlO4W0 的容器化, 调度与配置管理小节也有深入的阐述.
如果要问, 是什么导致了我们应用的构建物 (artifact) 在各个环境不能保持一样, 有时候 Docker 无法轻易达成 "Build Once, Run Anywhere!" 的承诺, 其答案往往就是环境配置的差异, 为帮助你理解, 举一些简单的例子:
在开发环境中将 logLevel 设置为 DEBUG, 在预发环境 logLevel 设置为 INFO, 生产环境里 logLevel 设置为 WARNING
在开发环境中使用 4 核 8G 的机器跑数据库, 而在生产中用 32 核 96G 机器跑数据库
在日常环境执行线程池的最大线程数应该设置为 15, 而生产环境上这个值应该大一点, 默认设为 150
在线上环境中, 中心机房, 应用数据源需要连接 A 库, 而深圳机房, 应用应该就近连接使用 B 库
只有在小淘宝环境, 双向同步开关才应该关闭
这次的改动有点大, 新的特性仅在线上的杭州单元把该特性开放出来, 其它的单元环境先不要开放出来
点击查看原文 https://yq.aliyun.com/articles/603994?utm_content=m_1000004040
来源: https://juejin.im/post/5b35e05df265da599a3ffa00