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

举报
坚果的博客 发表于 2022/05/23 09:35:14 2022/05/23
【摘要】 云原生应用架构的五个特征十二要素方法面向微服务架构自服务敏捷架构基于API的协作特征具有抗脆弱性十二要素方法:因素说明1 - 基本代码每个微服务都有单个基本代码,存储在其自己的存储库中。 它通过版本控制进行跟踪,可以部署到多个环境(QA、暂存、生产)。2 - 依赖项每个微服务都隔离并打包其自己的依赖项,以在不影响整个系统的情况下进行更改。3 - 配置配置信息通过代码之外的配置管理工具移出微服...

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

  • 十二要素方法

  • 面向微服务架构

  • 自服务敏捷架构

  • 基于API的协作特征

  • 具有抗脆弱性


十二要素方法:

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

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。