基于划分出的限界上下文,可以设计系统的架构。使用微服务还是单体架构需要综合考虑,通常要根据投入产出、人员能力、基础设施等因素做出权衡。
一般在满足如下条件时,才建议使用微服务,否则还是用单体架构。
第一,收益大于成本。使用微服务的好处包括容易横向扩容、独立部署、避免系统腐化等等。代价是提高了运维的成本、远程调用增加了性能损耗以及维护最终一致性的复杂性等等。只有在收益大于成本的情况下,才值得使用微服务。
第二,团队有足够的运维技能和基础设施支持。
第三,团队有开发微服务的技能和经验时。
此文章为3月Day1学习笔记,内容来源于极客时间《手把手教你落地 DDD》