创建一个单一的数据库来支持不同的微服务是反模式,正确的方法是为每个微服务创建一个数据库。但是当数据库是关系型类型时,我将复制具有微服务之间关系的表,但如何让两个不同的数据库彼此同步呢?考虑使用Node应用程序与Postgres数据库,在其中有三个微服务:产品、客户和销售。销售需要客户和产品,那么我该如何维护我的数据库同步呢?
这是微服务架构中一个主要的问题,使用以下模式来解决:
与此模式相关的还有:
但这只解决了部分问题。
构建微服务架构是一项非常复杂和广泛的任务,涉及许多问题和设计模式,可以帮助您最小化这些问题。 我建议阅读一本《Microservices patterns》书籍,以了解各种微服务架构设计模式。