每个服务的数据库


问题陈述

微服务架构将应用程序构建为一组松散耦合的微服务,每个服务都可以以敏捷的方式独立开发,以实现持续交付/部署。基于微服务的应用程序中的数据库结构/体系结构应该是什么。

解决方案

我们可以将每个微服务数据保留为该微服务的私有,并且这些数据只能通过相关的微服务访问。微服务将使用自己的数据库进行事务。下图显示了每个服务设计模式实现的数据库。

每个服务数据库微服务设计模式

每个服务的数据库并不总是需要配置单独的数据库。考虑到关系数据库,我们可以使用以下方法来实现该模式。

  • 每个服务的私有表- 每个微服务都可以使用一组表,并且这些表只能通过其相关的微服务访问。

  • 每个服务的架构- 每个微服务可以定义单独的架构。

  • 每个服务的数据库服务器- 可以每个微服务配置整个数据库服务器。