【发布时间】:2018-04-10 14:27:18
【问题描述】:
我正在努力推动自己为个人项目开发一组微服务,这些微服务本质上将:
使用弹性搜索 轮询各种数据存储 放置数据并从数据存储中读取数据 向用户公开一个rest api
就本示例而言,假设我有一个预订 MS 和一个销售 MS
我首先想到的是如何处理数据存储。
- 每个 MS 都应该有自己的数据存储吗?
- 我是否应该引入一个持久性 MS 来处理来自所有其他微服务的所有数据(这样做似乎很奇怪)。
- 是否应该每个 MS 共享一个数据库但处理自己的事务。
如果您让每个服务都处理自己的持久性,这不会使微服务显着膨胀到您拥有大量样板代码和大量库的整体占用空间的程度(例如,hibernate 将是必需的跨每个项目的库,让每个 MS 都必须加载相同的库集似乎很糟糕)。
所以我认为最重要的问题是管理跨微服务架构的数据库连接的公认方法是什么。
【问题讨论】:
标签: database hibernate microservices