首页/开发/系统分析与架构设计速查/服务化架构(粗粒度服务)
架构风格与模式58 条

服务化架构(粗粒度服务)

把系统拆为数量较少、边界清晰的粗粒度服务(如按业务域划分),共享数据库或按服务分库均可;复杂度低于微服务,适合多数中型系统起步。

粒度粗粒度、数量可控,服务内部仍可分层
数据可共享数据库,也可按服务拆分
对比微服务独立部署与弹性较弱,但运维与一致性成本低

粗粒度服务的划分评估

问题信号动作
服务过粗变更互相干扰、发布排队按业务能力再拆一层
服务过细一次用例跨多个服务且需强事务合并或引入组合服务
数据共享跨服务联表查询频繁先拆读写边界再谈分库
对多数团队,服务化架构常是被低估的折中:先划清业务边界,再视需要拆细。

易错点

  • 服务划分没有业务依据,退化为按技术层切分
  • 共享数据库无契约约束,服务之间通过表结构隐式耦合

数据来源与参考

  • 《软件架构:架构模式、特征及实践指南》(Richards & Ford)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌