使用OrientGraphFactory分发OrientDB

时间:2015-12-08 11:16:49

标签: orientdb

我目前正在开发一个Web应用程序的团队,我们希望在应用程序中使用OrientDB 2.1。我们想要使用嵌入式数据库,应用程序将在两个(或更多)节点上运行,前面有一个负载均衡器。我们也使用Spring-boot和嵌入式Jetty。

我们需要的一个功能是数据库在分布式模式下工作,因此更改会传播到其他节点。

目前我正在使用OrientGraphFactory连接图表,如下所示:

private static OrientGraphFactory factory = new OrientGraphFactory("plocal:pathToDB").setupPool(1,10);

这是一种非常舒适的连接方式,但我还没有找到如何在分布式环境中使用它。我的任务是:有没有办法像这样使用嵌入式OrientDB,但运行它是分布式的(例如使用Hazelcast)?或者我们需要使用OServer类吗?

非常感谢任何帮助。

-Knut

1 个答案:

答案 0 :(得分:0)

回答我自己的问题: 据我所知,这是不可能的。我最终做的是首先使用OServerMain类启动服务器,如下所示:

databaseServer = OServerMain.create(true);
databaseServer.startup(cfg);

我传递了一个OServerConfiguration对象,该对象包含Hazelcast插件配置以及普通服务器配置。 然后使用工厂连接:

factory = new OrientGraphFactory("remote:127.0.0.1/test", user, password).setupPool(1,10);

这也允许我使用控制台应用程序和Web应用程序进行连接(如果已配置)。我相信也可以像这样创建工厂:

factory = new OrientGraphFactory("plocal:path/to/db/test").setupPool(1,10);

数据库将处理这两个连接,但我还没有正确尝试。