传统模块化系统强一致性vs微服务最终一致性

213 阅读1分钟

对比

模块化

传统集成式系统,一套代码分模块处理任何逻辑需求,数据库也只用一个

微服务

将每个模块单独拿出来作为一个服务,各服务一般通过api访问,每个服务有自己的数据库

解毒

优点

  • 减少链路深度
  • 保证业务的一致性
  • DDD领域驱动设计

缺点

  • 增加运维复杂度
  • 每个服务多出一个事件处理模块,比如订阅哪些事件,如何对事件进行操作
  • 不能保证实时数据一致性
  • 需要补偿机制