- 代码库:将代码作为一个独立的实体,存储在版本控制系统中,并将它视为一流的属性。
- 依赖关系:明确定义依赖关系,包括外部依赖项、库和服务。
- 配置:应用程序的配置必须与代码分离,并以可配置的方式定义。
- 后端服务:服务应该视为资源,有自己的API,可以通过HTTP访问。
- 构建,发布,运行:每个构建都应该生成一个可部署的可交付资产,并可以轻松地在不同的环境中进行部署和管理。
- 测试环境:开发人员应该具备一个类似于生产环境的测试环境,以确保代码在部署到生产环境之前已经过充分测试和质量控制。
- 状态:应用程序的状态应该完全存储在后端服务中,不应该存储在本地文件中。
- 无状态进程:应用程序的进程应该是无状态的,并且在生命周期内可以动态地启动或停止。
- 端口绑定:应用程序应该在指定端口上监听HTTP请求。
- 并发:应用程序应该是可水平扩展的,并且可以在多个实例之间进行负载均衡。
- 分布式:应用程序的设计应该支持分布式部署和管理。
- 日志处理:应用程序应该将日志输出到标准输出流,并采用可扩展的日志处理工具。
云原生应用的“12要素”不仅对开发人员有帮助,也对应用程序的部署、维护和扩展提供了指导。应用程序的遵循这些原则可以让开发人员创造出更高效、更现代化的软件产品。
转载请注明出处:https://www.cloudnative-tech.com/trends/4571.html