1

我正在开发我的下一个应用程序,我真的很感兴趣使用多边形持久性。我喜欢能够针对不同服务查询不同数据结构的想法。我基本上想要同步MongoDB,Neo4j/Titan,SQL,也许Cassandra/Hbase。启动应用程序的多边形持久性

目前,我将所有内容封装在try/catch块中,并在出现故障时全部回滚。但是,这是我的写入时间。我也研究过像Kafka或ZeroMQ这样的AMQP系统,但是这些看起来更加以大数据为中心,而我的应用程序仍然很小,我想保持它的高效。

有没有人有过这方面的经验?对于一个小应用来说MQ是一个好主意还是我过早地优化?

感谢

回答

1

我知道不少关于ZeroMQ,但不是很多关于你提到的数据库服务器。

首先,你对ZeroMQ有点困惑。虽然它源于AMQP的经验,但它使用ZMTP线路协议。这是在ZeroMQ开发期间定制设计的[但其他应用程序现在使用它]。

ZeroMQ是一个小且速度非常快的MQ库,它对所有节点都是对称的;这对于小型应用程序非常有用。这里的问题是您需要其他与​​ZMTP交流的系统,无论是ZeroMQ还是桥梁。如果你打算为其他系统制作插件或类似的东西,那很好。

我认为,尽管如此,您正在使用JMS与其他系统进行通信,而不打算为它们开发附加组件。在这种情况下,您可能会被JMS困住。卡夫卡是一个我没有找到的新手,但是RabbitMQ是一个优秀,快速和小型的经纪人。 FWIW。有很多经纪人比较,你可以找到。许多人认为,一个设置的小调整可以极大地影响性能,并不一定要比较苹果和苹果。如果想在您的环境中比较经纪人的表现,没有太多的自己做的捷径。

让我困惑的一件事是您希望经纪人如何帮助您的回滚性能。您仍然需要以基本相同的方式进行回滚,尽管通过代理异常。

+0

嘿谢谢,rabbitmq提供了一个更常见的协议吗? – patrickbarker 2015-06-04 00:47:40

1

我在CloudBoost.io(https://www.cloudboost.io)工作,我们构建了一个位于数据库之上的图层,并为您提供了Polyglot持久性持久性的强大功能。我们将MongoDB,ElasticSearch,Redis,Cassandra和Neo4j集成在一起,并为您提供查询/存储数据的单一API。我们根据您的查询/存储请求模式自动将您的数据分成各种数据库。

让我知道这是否有帮助。 :)

0

对于从MongoDB到Neo4j的数据同步现在有Neo4j Doc Manager项目。它通过监视MongoDB进行操作并将文档操作转换为属性图模型并立即写入Neo4j。

相关问题