如何部署每个服务数据库模式
How to deploy database-per-service pattern
我还在学习微服务模式,但以我的理解,每个服务应该是独立部署的(即docker容器)。
那么,它是如何维护它的数据库的呢?
它如何以无状态的方式连接到它?
每个微服务都必须在自己的 Docker 容器中。
每个微服务都有自己的数据库连接设置。
根据模式,可以在数据库服务器上为每个微服务创建数据库。
每个应用程序实例都使用自己的设置连接到自己的数据库。
您可以了解有关每个服务数据库模式的更多信息here。
每个服务一个数据库(又名每个微服务一个数据库)模式是一个包含 3 个方面的设计解决方案:
微服务“拥有”的数据存储在专用数据存储中,而不是作为具有关联(例如,FKs)的共享数据存储的一部分) 到属于其他微服务的数据元素。
微服务只能看到自己专用的数据存储。如果微服务需要来自其他地方的数据,它应该通过其他方式获取,更突出的是,API 调用或数据复制。顺便说一句,服务数据复制是一种单独的模式,可以与每个服务的数据库结合使用。
其他微服务和其他应用程序看不到微服务的专用数据存储。
Microservice is an architecture style,每个服务的数据库是一种微服务模式,可能会也可能不会用于给定的微服务;它不是强制性的。同样,容器化几乎总是一个好主意,但这不是微服务的要求。
我还在学习微服务模式,但以我的理解,每个服务应该是独立部署的(即docker容器)。 那么,它是如何维护它的数据库的呢? 它如何以无状态的方式连接到它?
每个微服务都必须在自己的 Docker 容器中。 每个微服务都有自己的数据库连接设置。 根据模式,可以在数据库服务器上为每个微服务创建数据库。 每个应用程序实例都使用自己的设置连接到自己的数据库。
您可以了解有关每个服务数据库模式的更多信息here。
每个服务一个数据库(又名每个微服务一个数据库)模式是一个包含 3 个方面的设计解决方案:
微服务“拥有”的数据存储在专用数据存储中,而不是作为具有关联(例如,FKs)的共享数据存储的一部分) 到属于其他微服务的数据元素。
微服务只能看到自己专用的数据存储。如果微服务需要来自其他地方的数据,它应该通过其他方式获取,更突出的是,API 调用或数据复制。顺便说一句,服务数据复制是一种单独的模式,可以与每个服务的数据库结合使用。
其他微服务和其他应用程序看不到微服务的专用数据存储。
Microservice is an architecture style,每个服务的数据库是一种微服务模式,可能会也可能不会用于给定的微服务;它不是强制性的。同样,容器化几乎总是一个好主意,但这不是微服务的要求。