云原生架构模式

服务化架构模式 (SOA/微服 务/小 服务)

  • 按业务域或功能模块拆分应用,每个模块作为独立服务运行,通过 {{c1 接口契约(API/ 协议)}} 进行交互。
  • 常结合 {{c1 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)

  • 系统以 {{c1 事件}} 为核心进行交互,事件作为独立数据单元,包含 Schema, 可被生产者 发布、消费者订阅。具备 QoS 保证和失败补偿机制。
  • 优点 → 服务解耦、异步处理、 可扩展;
  • 适合高并发、异步业务场景,如 → 订单完成触发发货、数据库变更触发缓存 更新。
  • 常用技术 → Kafka、 Pulsar、EventBridge。

网络回响

作者

Ryen Xiang

发布于

2025-10-15

更新于

2026-02-17

许可协议


评论