带你读《云原生架构白皮书2022新版》——主要架构模式(上)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《云原生架构白皮书2022新版》——主要架构模式(上)

主要架构模式


云原生架构有非常多的架构模式,这里选取一些对应用收益更大的主要架构模式进行讨论。


1、服务化架构模式


服务化架构是云时代构建云原生应用的标准架构模式,要求以应用模块为颗粒度划分一个软件,以接口

契约(例如 IDL)定义彼此业务关系,以标准协议(http、gRPC 等)确保彼此的互联互通,结合 DDD

(领域模型驱动)、TDD(测试驱动开发)、容器化部署提升每个接口的代码质量和迭代速度。服务化

架构的典型模式是微服务和小服务(Mini Service)模式,其中小服务可以看做是一组关系非常密切的

服务的组合,这组服务会共享数据,小服务模式通常适用于非常大型的软件系统,避免接口的颗粒度太

细而导致过多的调用损耗(特别是服务间调用和数据一致性处理)和治理复杂度。

通过服务化架构,把代码模块关系和部署关系进行分离,每个接口可以部署不同数量的实例,单独扩缩容,

从而使得整体的部署更经济。此外,由于在进程级实现了模块的分离,每个接口都可以单独升级,从而

提升了整体的迭代效率。但是也需要注意到,服务拆分导致要维护的模块数增多,如果缺乏服务的自动

化能力和治理能力,会让模块管理和组织技能不匹配,反而导致开发和运维效率的降低。


2、Mesh 化架构模式


Mesh 化架构是把中间件框架(比如 RPC、缓存、异步消息等)从业务进程中分离,让中间件 SDK 与

业务代码进一步解耦,从而使得中间件升级对业务进程没有影响,甚至迁移到另外一个平台的中间件也对

业务透明。分离后在业务进程中只保留很“薄”的 Client 部分,Client 通常很少变化,只负责与 Mesh

进程通讯,原来需要在 SDK 中处理的流量控制、安全等逻辑由 Mesh 进程完成。整个架构如下图所示。

image.png

image.png

态数据(如 session)、结构化和非结构化持久数据都采用云服务来保存,从而实现存储计算分离。但

仍然有一些状态如果保存到远端缓存,会造成交易性能的明显下降,比如交易会话数据太大、需要不断

根据上下文重新获取等,则可以考虑通过采用 Event Log + 快照(或 Check Point)的方式,实现重启

后快速增量恢复服务,减少不可用对业务的影响时长。


5、分布式事务模式


微服务模式提倡每个服务使用私有的数据源,而不是像单体这样共享数据源,但往往大颗粒度的业务需

要访问多个微服务,必然带来分布式事务问题,否则数据就会出现不一致。架构师需要根据不同的场景

选择合适的分布式事务模式。

传统采用 XA 模式,虽然具备很强的一致性,但是性能差;

基于消息的最终一致性(BASE)通常有很高的性能,但是通用性有限,且消息端只能成功而不能触发消息

生产端的事务回滚;

TCC 模式完全由应用层来控制事务,事务隔离性可控,也可以做到比较高效;但是对业务的侵入性非常强,

设计开发维护等成本很高;

SAGA 模式与 TCC 模式的优缺点类似但没有 try 这个阶段,而是每个正向事务都对应一个补偿事务,也是

开发维护成本高;

开源项目 SEATA 的 AT 模式非常高性能且无代码开发工作量,且可以自动执行回滚操作,同时也存在一些

使用场景限制。


《云原生架构白皮书2022新版》——云原生架构的定义——主要架构模式(下) https://developer.aliyun.com/article/1232967



相关文章
|
20小时前
|
Cloud Native 安全 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第14天】 随着企业加速其数字化转型的步伐,云原生架构成为了实现敏捷性、可扩展性和高效运营的重要推动力。本文将探讨云原生技术的核心组件,包括容器化、微服务和持续集成/持续部署(CI/CD),并分析这些技术如何助力企业构建灵活且高效的IT环境。此外,文章还将讨论云原生安全策略的重要性及其对企业数据保护的影响。
|
1天前
|
Cloud Native Devops 持续交付
构筑未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第13天】 随着企业加速其数字化转型的步伐,云原生架构逐渐成为实现敏捷性、可扩展性和资源优化的关键技术。本文探讨了云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及DevOps实践,并分析了这些技术如何协同工作,以支持企业在不断变化的市场环境中快速适应和创新。通过深入剖析云原生技术的优势和挑战,本文为读者提供了一个关于企业如何在云平台上构建、部署和管理复杂应用程序的全面视角。
|
1天前
|
敏捷开发 Cloud Native 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【5月更文挑战第13天】 随着企业加速其数字化进程,云原生架构已经成为推动创新和维持市场竞争力的核心要素。本文将探讨云原生技术的基本原理、它如何促进敏捷开发,以及它在实现可扩展性、弹性和资源优化方面的优势。通过分析案例研究和行业趋势,我们将深入理解云原生架构是如何成为企业转型不可或缺的技术支撑。
|
1天前
|
Cloud Native 安全 持续交付
构建未来:云原生架构的演进之路
【5月更文挑战第13天】 在数字化转型的浪潮中,企业与组织正迅速采用云原生技术以提升其业务敏捷性、可扩展性和运营效率。本文深入探讨了云原生架构的关键组成部分,包括容器化、微服务、持续集成与持续部署(CI/CD)、以及声明式API,并分析了这些技术如何共同塑造着云平台的未来。同时,文中将剖析云原生安全挑战并提出相应的解决策略,为构建一个更加可靠、安全的云环境提供指导。
|
6天前
|
存储 Cloud Native 对象存储
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
AutoMQ[1] 是新一代基于共享存储架构实现的云原生 Kafka。得益于其存算分离的共享存储架构,通过和阿里云合作,深度使用阿里云可靠、先进的云服务如对象存储OSS、块存储 ESSD、弹性伸缩ESS以及抢占式实例实现了相比 Apache Kafka 10倍的成本优势并且提供了自动弹性的能力。
AutoMQ:如何基于阿里云计算与存储产品实现云原生架构升级
|
7天前
|
消息中间件 人工智能 监控
|
15天前
|
存储 Cloud Native 大数据
国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
全面升级为云原生架构,支持云原生按需弹性Serverless能力,解决了长期困扰用户的集群扩展效率和平滑性问题。
国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
|
16天前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库产品使用合集之阿里云云原生数据仓库AnalyticDB PostgreSQL版的重分布时间主要取决的是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
21天前
|
Kubernetes Cloud Native 安全
电子好书发您分享《阿里云云原生开源开发者沙龙北京站 PPT 合集》
📚 阿里云开源开发者沙龙北京站精彩回顾!获取PPT合集,深入云原生安全与微服务实践:[北京站PPT](https://developer.aliyun.com/ebook/8334/116563?spm=a2c6h.26392459.ebook-detail.5.4dc56cf6htj2uT) 🚀 图文并茂探讨微服务安全与K8s监控解决方案。不容错过的云原生学习资源!👇
18 2
|
21天前
|
Cloud Native Serverless 开发者
阿里云助力开发者创新:探索云原生技术的新境界
阿里云开发者社区推动云原生技术发展,提供丰富产品(如容器服务、Serverless、微服务架构、服务网格)与学习平台,助力企业数字化转型。开发者在此探索实践,共享资源,参与技术活动,共同创新,共创云原生技术新篇章。一起加入,开启精彩旅程!
113 2