从旧数据库中检索数据并写入新数据库的微服务模式

Posted

技术标签:

【中文标题】从旧数据库中检索数据并写入新数据库的微服务模式【英文标题】:Microservice Pattern To Retrieve Data From Old Database And Write To New Database 【发布时间】:2021-02-25 11:33:27 【问题描述】:

我遇到的情况是有一个数据库,并且它从过去 6 个月开始使用。但从现在开始,将使用一个新的数据库。所有插入操作都将在新数据库中发生,但对于检索或全部获取,必须在旧数据库和新数据库中进行搜索。设计一个微服务,如何进行数据库配置来实现这一点?

【问题讨论】:

您需要为您的问题添加更多详细信息。为什么还需要使用旧数据库?您使用哪种数据库技术?为什么要引入新数据库?您的意思是为某些业务案例设计了 2 个数据库吗?还是您暂时只有 2 个? 【参考方案1】:

虽然不实用,但你可以在你的 spring boot 项目中定义多个 DataSource。定义一个拦截 get 调用的控制器。将呼叫路由到您的服务,该服务将具有在两个不同来源之间进行交易的逻辑,以构建对其余查询的响应。你可以从这里找到一个例子:-

https://www.baeldung.com/spring-data-jpa-multiple-databases

您可以做的另一件事是引入、弹性搜索和索引所有旧数据库数据,这些数据将成为获取查询调用的一部分,并使用弹性来触发查询而不是 db。

【讨论】:

以上是关于从旧数据库中检索数据并写入新数据库的微服务模式的主要内容,如果未能解决你的问题,请参考以下文章

DataTables - 从旧表中删除数据并初始化一个新表

六种微服务架构的设计模式

核心数据:从旧数据库导入值

怎么把sql数据库从旧电脑移动到新电脑安装?

基于 Akka 集群的微服务 API Gateway 模式实现

检索数据时出错