我的所有微服务都有自己的数据库,我应该创建通用的微服务来处理连接吗?

时间:2017-09-12 08:08:00

标签: database architecture microservices

我有许多维护他们自己的数据库(mongodb,elastic,mysql)的微服务,并且我必须不断地建立新连接的每个微服务。

我正在考虑,如果我在创建之前创建了另一个可以处理微服务连接的微服务,那将是明智的。

实施例: 我的API网关微服务获得搜索请求,然后调用搜索微服务,在搜索开始之前,调用数据库设置miscroservice并根据微服务调用它返回已建立的连接(在本例中为搜索微服务) )。

如果我刚刚发现API网关内部需要什么连接,会不会更好?或者我应该在每个微服务中单独留下逻辑。

1 个答案:

答案 0 :(得分:3)

您可以通过假设每个微服务使用的持久性类型来打破微服务封装。

每个微服务应该可以自由地使用它想要的任何持久性类型,或者在它想要时透明地更改它,而不通知或请求其他微服务的许可。