说明:架构不是互相替代,而是场景选型;很多项目是混合架构。下面按热度从高到低介绍,包含核心思想、适用场景、优缺点。
1. 微服务架构(Microservices)
核心:把单体应用拆成一组小而自治的服务,每个服务独立部署、独立数据库,通过 API 通信。
- 通信:REST、gRPC、消息队列(Kafka/RabbitMQ)
- 配套:服务注册发现、网关、熔断限流、链路追踪
- ✅ 优点:独立迭代、弹性扩缩容、技术栈异构
- ❌ 缺点:分布式复杂度高,运维、调试、事务难
- 现状:成熟但不再盲目追捧,大厂用得多;中小团队很多从微服务退回到单体 + 模块。
2. 云原生架构(Cloud Native)
不是和微服务并列,是一套理念,常基于微服务 / 单体构建 核心:应用为云环境设计,容器化、声明式编排、可观测、弹性。
- 技术底座:Docker + Kubernetes(K8s)
- 包含:不可变基础设施、CI/CD、服务网格、GitOps
- ✅ 优点:自动扩缩容、故障自愈、环境一致性
- ❌ 缺点:学习与运维成本高,小项目过重
3. 服务网格(Service Mesh,代表:Istio、Linkerd)
核心:把服务间通信能力(限流、认证、加密、追踪)抽离到 sidecar 代理,业务代码不用关心。
- 属于云原生的组件,不是独立架构,常搭配微服务使用
- ✅ 业务无侵入管控流量安全
- ❌ 增加网络开销与运维复杂度;中小型系统慎用
4. 单体模块化架构(Modular Monolith)【近年热度回升】
核心:代码内部严格按领域划分模块,部署仍然是一个包;模块间强内聚、低耦合,模块之间通过内部接口调用,不跨网络。
很多团队踩坑微服务后选择这个折中方案
- ✅ 没有分布式开销,开发简单,事务好处理;未来可按需拆成微服务
- ❌ 所有模块一起发布,代码边界需要严格管控
- 适合:中小团队、业务初期、流量不大但业务复杂的系统
5. 事件驱动架构(Event-Driven Architecture, EDA)
核心:组件之间通过事件(消息)异步通信,不是同步调用。一个组件产生事件,其他组件订阅消费。
- 实现:Kafka、RabbitMQ、Pulsar
- 常和微服务 / 模块化单体组合使用
- ✅ 松耦合、高吞吐、削峰;适合订单、物流、实时数据场景
- ❌ 事件回溯、数据一致性、调试难度高;最终一致性
6. Serverless(无服务器架构)
核心:开发者只写业务函数,不用管理服务器 / 容器;平台自动弹性扩缩,按调用计费。
- 形态:FaaS(函数即服务,AWS Lambda、阿里云函数计算)+ BaaS(后端即服务)
- ✅ 零服务器运维、按需付费、极速弹性
- ❌ 冷启动、长连接限制、厂商绑定、调试困难;不适合长时间运行服务
- 适合:定时任务、图片处理、API 后端、IoT 事件处理
7. DDD 领域驱动设计(Domain-Driven Design)
DDD 是建模思想,不是部署架构,但近几年国内非常火,常用来指导微服务 / 模块化单体拆分边界
- 核心:以业务领域为核心,限界上下文、聚合根、领域事件
- 作用:解决微服务拆分混乱、模块边界不清的问题
8. 整洁架构 / 洋葱架构(Clean Architecture)
核心:依赖向内;业务领域层在最中心,外部(数据库、接口、Web)依赖领域,领域不依赖外部框架。
- 多用于单体、模块化单体,后端服务代码分层规范
- 目标:业务逻辑和框架、存储解耦,便于测试
9. 多租户架构(Multi-tenancy)
SaaS 产品主流架构:一套软件实例,服务多个客户(租户),租户间隔离。 隔离方案:共享数据库共享 schema / 共享数据库独立 schema / 独立数据库。
10. 边缘架构(Edge Architecture)
核心:把计算、存储下沉到靠近终端的边缘节点,云端做管理。
- 场景:IoT、工业设备、视频实时推理、低延迟需求
- 特点:本地可离线工作,减少回传云端带宽
11. 混合架构(最真实的生产现状)
很少项目纯单一架构:
- 例子:模块化单体 + 事件驱动;微服务 + Serverless 函数做异步任务;云原生容器 + 服务网格。
简单选型参考
- 小团队、业务还不稳定:模块化单体优先
- 业务复杂、团队大、多团队并行开发:微服务 + 云原生 + DDD
- 高吞吐异步业务:事件驱动
- 流量波动大、短时任务:Serverless
- SaaS 产品:多租户架构
近年趋势小结
- 微服务退烧,模块化单体回归,反对过早拆微服务;
- 云原生成为企业基础设施标准;
- 事件驱动、DDD 越来越多用来解决复杂业务;
- Serverless 在特定场景普及,但不会取代所有后端架构;
- 架构关注点从 “怎么拆服务” 转向:可观测性、可靠性、数据一致性。
转载自 CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/workflower/article/details/166138128




