加载中...
微服务将单体应用拆分为一组小型、独立部署的服务,每个服务专注一个业务功能,通过 API 通信。Netflix、Uber、亚马逊是早期大规模实践者,但随之而来的运维复杂性也催生了整个云原生工具链。

| 类型 | 软件架构模式 |
| 早期实践者 | Netflix(2009)、Amazon、Uber |
| 配套工具 | Docker、Kubernetes、Consul、Jaeger |
亚马逊 2001 年左右将单体电商系统拆分,传说 Jeff Bezos 发了一封著名的「API 授权令」:所有团队必须通过 API 暴露数据和功能,不允许直接访问他人数据库,违者开除。这次强制解耦催生了后来的 AWS。Netflix 2009-2012 年将 DVD 时代的单体系统迁移到 AWS 上的微服务架构,历时三年,是业界最详细记录的迁移案例之一。
微服务的理论依据是康威定律:系统架构与组织结构同构。100 人的单一团队跑一个大系统,和 10 个 10 人团队各自负责一个微服务,产生的系统架构截然不同。[1]
常见踩坑:过早微服务化(业务不清晰就拆,拆完依赖更乱);分布式事务(拆成多个服务后,一个业务操作横跨多个数据库,2PC/Saga 模式复杂度高);测试困难(本地跑需要启动十几个服务)。Martin Fowler 明确说过:微服务是「复杂度的交换」,不是万能药。

| 类型 | 软件架构模式 |
| 早期实践者 | Netflix(2009)、Amazon、Uber |
| 配套工具 | Docker、Kubernetes、Consul、Jaeger |
登录 后参与讨论
暂无讨论,来发表第一条评论吧