云原生架构模式
服务化架构模式 (SOA/微服 务/小 服务)
按业务域或功能模块拆分应用,每个模块作为独立服务运行,通过 接口契约(API/ 协议) 进行交互。
常结合 DDD(领域驱动设计) 进行服务边界划分, 用 TDD 提升 质量,并通过容器化与 CI/CD 管理快速迭代。
优点 :-> 灵活扩展、独立部署、降低 耦合;
缺点 :-> 分布式环境下治理成本高。
典型场景 :-> 电商订单、支付、库存拆分为 微服务。
Mesh 化 架 构 模 式 (ServiceMesh)将中间件能力(RPC 通信、负载均衡、限流熔断、安全认证等)从业务进程中剥 离,由独立的 Sidecar/Proxy 组件(Mesh 进程)统一处理。#card
- 这样业务代码只需专注 逻辑实现,而网络通信、服务治理、可观测性由 Mesh 负责。
优点 :-> 统一治理、解 耦复杂逻辑,
缺点 :-> 引入额外性能开销。
典型实现 :-> Istio、Linkerd。
Serverless 模式应用无需管理底层服务器,开发者只需编写业务逻辑代码,由云平台自动完成部署、 运行、弹性伸缩和关闭。#card
- 应用一般通过事件或流量触发执行,按调用次数或运行时 间计费。
优势 :-> 极大降低运维成本、按需伸缩,
劣势 :-> 冷启动延迟和厂商锁定风险。
典型场景 :-> 图片处理、日志分析、IoT 数据采集。
存储计算分离模式将计算层与存储层解耦:计算节点保持无状态,数据全部存储在分布式存储/云存 储中。#card
- 有状态服务通过写前日志(WAL)+快照(Snapshot)机制实现恢复。
优点 :-> 是弹性伸缩、 成本优化
缺点 :-> 计算与存储分离带来延迟问题。
典型应用 :-> Snowflake、TiDB、云数仓。
分布式事务模式在跨数据库/跨服务的事务中保持数据一致性,常见模式有:
- XA 模式 :-> 两阶段提交,强一致,但性能差。 消息最终一致性:通过消息队列异步保证,性能好但一致性延迟。
- TCC 模式 :-> 应用层显式 Try/Confirm/Cancel, 灵活但侵入性强。
- SAGA 模式 :-> 将长事务分解为本地事务+补偿操作,适合复杂业务流程。
- SEATAAT 模式 :-> 通过代理数据库操作实现自动回滚,性能较好,但受限于数据库 类型。
可观测架构
通过三大核心能力实现对系统运行状态的全面感知:#card
Logging:多级日志,记录系统行为和错误。
Tracing:分布式调用链路追踪,快速定位性能瓶颈。
Metrics:系统指标采集与量化(QPS、响应时间、并发度等)。
结合 SLO/SLA 定义服务目标,用于监控、报警和运维优化。
典型工具 :-> Prometheus、 Grafana、ELK、Jaeger。
事 件 驱 动 架 构 (EDA)系统以 事件 为核心进行交互,事件作为独立数据单元,包含 Schema, 可被生产者 发布、消费者订阅。具备 QoS 保证和失败补偿机制。
优点 :-> 服务解耦、异步处理、 可扩展;
适合高并发、异步业务场景,如 :-> 订单完成触发发货、数据库变更触发缓存 更新。
常用技术 :-> Kafka、 Pulsar、EventBridge。