如何在多个实例中使用一个微服务的不同数据源



我正在使用Spring引导的微服务架构,我的微服务A使用MySQL作为主要数据源,我想知道我是否可以使A的实例并将该实例的数据源更改为MongoDB ?

我为什么要那样做?基本上,我将有一个端点来处理百万行的文件上传,所以我希望该微服务有两个数据源。

或者我应该将A复制到另一个微服务B并使用MongoDb作为数据源并制作特定的rest api吗?

如果你使用ORM(我相信你使用它),你必须为两个数据库创建一个模型,因为MySQL和MongoDB的不同概念,你有不同的注释集。例如,对于MongoDB,你必须使用@Document而不是@Entity。如果只有你的服务A的目标是文件上传功能——你可以在一个服务中一起实现它。如果你需要从多个服务进行上传,或者需要对服务进行单独缩放A功能和文件上传功能-使其成为单独的上传服务。在大多数情况下,第二种方法更有吸引力,因为当您有需求更改时,它允许避免两个服务中的服务职责分离

相关内容

最新更新