首页 > 解决方案 > 如何使用 spring-data-mongodb 实现多租户

问题描述

我是使用 spring-data-mongodb 使用 mongodb 多租户的新手,我们需要在具有线程安全的同一代码中使用 spring-data-mongodb 来处理其他 API 和调度任务(我们的应用程序中有多个调度程序) . 是否自动装配 mongoTemplate 将使应用程序线程安全,因为将从调度程序和 API 访问相同的 mongoTemplate。在这种情况下,请给我一个好的做法。

问候

克里斯

标签: mongodbspring-bootspring-data-mongodb

解决方案


MongoTemplate 本身是线程安全的,即你可以同时从多个线程调用它,它会正常工作,即将不同的请求正确地发送到MongoDB。

但这并不能保证一致性:如果调度程序正在运行并在同一个任务中执行多个更新,则 API 调用可能会获取一些更新的记录和一些尚未更新的其他记录。

顺便说一句:多租户是在同一个数据库中拥有来自多个组织实体的数据。我不确定这与您的问题有何联系,您的意思是多线程吗?


推荐阅读