| 粒度 | 粗粒度、数量可控,服务内部仍可分层 |
|---|---|
| 数据 | 可共享数据库,也可按服务拆分 |
| 对比微服务 | 独立部署与弹性较弱,但运维与一致性成本低 |
粗粒度服务的划分评估
| 问题 | 信号 | 动作 |
|---|---|---|
| 服务过粗 | 变更互相干扰、发布排队 | 按业务能力再拆一层 |
| 服务过细 | 一次用例跨多个服务且需强事务 | 合并或引入组合服务 |
| 数据共享 | 跨服务联表查询频繁 | 先拆读写边界再谈分库 |
对多数团队,服务化架构常是被低估的折中:先划清业务边界,再视需要拆细。
把系统拆为数量较少、边界清晰的粗粒度服务(如按业务域划分),共享数据库或按服务分库均可;复杂度低于微服务,适合多数中型系统起步。
| 粒度 | 粗粒度、数量可控,服务内部仍可分层 |
|---|---|
| 数据 | 可共享数据库,也可按服务拆分 |
| 对比微服务 | 独立部署与弹性较弱,但运维与一致性成本低 |
| 问题 | 信号 | 动作 |
|---|---|---|
| 服务过粗 | 变更互相干扰、发布排队 | 按业务能力再拆一层 |
| 服务过细 | 一次用例跨多个服务且需强事务 | 合并或引入组合服务 |
| 数据共享 | 跨服务联表查询频繁 | 先拆读写边界再谈分库 |