database - Spring Boot 中是否有任何方法可以在不复制存储库的情况下将相同的数据提交到两个不同的数据源?

标签 database spring-boot neo4j spring-data-neo4j

我想在 ec2 上安装的两个不同的 neo4j 实例上复制 neo4j 数据。无论如何,我可以将相同的数据提交给两个不同的 neo4j 实例吗?

我尝试了在给定的两个不同数据源上提交的示例 here但是他们为我在这里不想要的每个数据源配置创建了单独的存储库。我只有一个存储库,当我提交时,它应该写在两个数据源中。我不能使用 neo4j 的企业版,因为它很昂贵。所以我必须仅限于社区版。

总的来说,我想了解这个过程,而不管任何数据库的类型。它可以是 SQL 或 H2 或 mongo,任何数据库。

最佳答案

本质上,您要求的是复制功能,据我所知,复制功能在免费开源版本的 neo4j 中不可用。

如果你创建两个repository,你会引入一个分布式系统例子的问题:如果一个写入成功,另一个写入失败怎么办。如果你真的想要这种架构,你最好使用 RabbitMQ/Kafka 并且 make 是基于发布/订阅模式的事件驱动系统。您将有多个可以更新多个 ne04j 实例的监听器,无论如何仍然不理想!!!!

我建议查看 neo4j 替代品,例如 https://orientdb.com/或者购买 neo4j 的商业许可证。

关于database - Spring Boot 中是否有任何方法可以在不复制存储库的情况下将相同的数据提交到两个不同的数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53072293/

相关文章:

spring - 如何在 spring Restapi 的 json 请求中的未知字段上抛出错误

java - 如何将我的 Spring Boot 发送给某人?

java - Flyway Maven 插件从外部配置文件执行 GOLS

python - py2neo - neo4j.GraphDatabaseService(db_string) 使 python 崩溃;没有错误日志

mysql - Laravel 迁移中的 Neo4j 和 Mysql

sql - 如何比较 Postgresql 中日期时间字段中的日期?

java - 填充Object[]数据

java - 如何将 CopyManager 与连接池数据源一起使用?

neo4j - 如何在 Neo4j 中编写查询?

android - 升级 Android 时保留数据库中的表