#云原生征文#云原生应用架构的五个特征 原创

鸿蒙坚果派
发布于 2022-5-21 17:15
浏览
3收藏

云原生应用架构的五个特征

作者:坚果
公众号:“大前端之旅

  • 十二要素方法
  • 面向微服务架构
  • 自服务敏捷架构
  • 基于API的协作特征
  • 具有抗脆弱性

十二要素方法:

因素 说明
1 - 基本代码 每个微服务都有单个基本代码,存储在其自己的存储库中。 它通过版本控制进行跟踪,可以部署到多个环境(QA、暂存、生产)。
2 - 依赖项 每个微服务都隔离并打包其自己的依赖项,以在不影响整个系统的情况下进行更改。
3 - 配置 配置信息通过代码之外的配置管理工具移出微服务和实现外部化。 在应用了正确配置的情况下,相同部署可以在环境间传播。
4 - 支持服务 辅助资源(数据存储、缓存、消息中转站)应通过可寻址 URL 进行公开。 这样做可使资源与应用程序分离,使其可以互换。
5 - 生成、发布、运行 每个版本都必须在生成、发布和运行阶段执行严格的分离。 各自都应使用唯一 ID 进行标记,并支持回滚功能。 新式 CI/CD 系统有助于实现此原则。
6 - 进程 每个微服务应在其自己的进程中执行,与其他正在运行的服务隔离。 将所需状态外部化到支持服务,如分布式缓存或数据存储。
7 - 端口绑定 每个微服务都应是独立的,其接口和功能在自己的端口上公开。 这样做可与其他微服务隔离。
8 - 并发 当容量需要增加时,跨多个相同进程(副本)横向扩展服务,而不是在功能最强大的可用计算机上纵向扩展单个大型实例。 将应用程序开发为并发应用程序,从而无缝地在云环境中横向扩展。
9 - 可处置性 服务实例应是可处置的。 支持快速启动以增加可伸缩性机会,以及支持正常关闭以使系统保持正确状态。 Docker 容器以及业务流程协调程序本质上满足此要求。
10 - 开发/生产等同 使整个应用程序生命周期中的各个环境尽可能相似,避免使用成本高昂的快捷方式。 在这里,通过促进相同的执行环境,容器的采用可以做出很大贡献。
11 - 日志记录 将微服务生成的日志视为事件流。 使用事件聚合器处理它们。 将日志数据传播到数据挖掘/日志管理工具(如 Azure Monitor 或 Splunk)并最终传播到长期存档。
12 - 管理员进程 以一次性进程形式运行管理性/管理任务,例如数据清理或计算分析。 使用独立工具从生产环境调用这些任务,但独立于应用程序。

【本文正在参加云原生有奖征文活动】,活动链接:https://ost.51cto.com/posts/12598

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2022-5-23 09:37:39修改
7
收藏 3
回复
举报
1条回复
按时间正序
/
按时间倒序
键客李大白
键客李大白

好文

 

1
回复
2022-5-22 19:05:15
回复
    相关推荐