今天继续复习了一下12Factor方法论,更深一步了解其精华所在:
1.微服务。标准:子系统以及其代码,可以独立部署。
2.依赖声明与环境隔离。很多研发很不讲究“代码卫生”,这点作为SRE非常bs。
3.配置存储在Unix环境变量中。这点在现实中实现起来有好有坏,研发人员对配置变量的管理和规划需要提前做出存储计划。
4.外部db、cache以及其他子系统的依赖声明成资源。需要研发人员有整体全局意识,不能只顾某个算法的实现、某个串的序列号结果。而不顾全大局。
5.严格区分打包和运行环境。
6.应用作为无状态的进程运行。sticky session必须被避免哦
7.通过绑定端口对外提供服务。
8.通过多进程模型进行扩容。
9.快速启动,优雅关闭。最小化短时间启动,以前有个恶劣的程序员写了个程序,每次启动要30-45分钟左右,简直是灾难。
10.开发、测试、部署环境尽量接近。
11.log当事件流集中处理。
12.一次性的系统管理任务。