微服务之间的最佳调用方式!| CSDN 博文精选(17)

虽然它们的数据库中的数据应该大致相同,但DDD建议每一个有界上下文中都建一个新表,它们之间再进行数据同步。

这个所谓的“内部微服务设计”其实就是DDD,但当时还没有微服务,因此外表看起来是单体程序,但内部已经是微服务的设计了。

它的书在2003就出版了,当时就很有名。但它更偏重于业务逻辑的设计,践行起来也比较困难,因此大家谈论得很多,真正用的较少。

直到十年之后,微服务出来之后,人们发现它其实内部就是微服务,而且微服务的设计需要用它的思想来指导,于是就又重新焕发了青春,而且这次更猛,已经到了每个谈论微服务的人都不得不谈论DDD的地步。不过一本软件书籍,在十年之后还能指导新技术的设计,非常令人钦佩。

这样设计的好处是它是一个单体程序,省去了多个微服务带来的部署、运维的麻烦。但它内部是按微服务设计的,如果以后要拆分成微服务会比较容易。至于什么时候拆分不是一个技术问题。

如果负责这个单体程序的各个团队之间不能在部署时间表,服务器优化等方面达成一致,那么就需要拆分了。

推荐阅读