polyglot持久性启动应用

s3fp2yjn  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(497)

我正在开发我的下一个应用程序,我对使用polyglot持久性非常感兴趣。我喜欢能够为不同的服务查询不同的数据结构。我基本上想同步mongodb、neo4j/titan、sql,也许还有cassandra/hbase。
目前,我正在将所有内容 Package 在try/catch块中,如果其中一个失败,则将它们全部回滚。然而,这让我的写作时间很费劲。我也研究过像kafka或zeromq这样的amqp系统,但这些系统看起来更以大数据为中心,而我的应用程序仍然很小,我希望保持它的效率。
有人有过这样的经历吗?mq是一个小应用的好主意还是我过早地优化了?
谢谢

vm0i2vca

vm0i2vca1#

为了将数据从mongodb同步到neo4j,现在有了neo4jdocmanager项目。它通过监视mongodb的操作来工作,并将文档操作转换为属性图模型,并立即写入neo4j。

xnifntxz

xnifntxz2#

我在cloudboost.io工作(https://www.cloudboost.io)我们构建了一个位于数据库之上的层,让您拥有多语言持久性的能力。我们集成了mongodb、elasticsearch、redis、cassandra和neo4j,并为您提供了一个单独的api,您可以在其中查询/存储数据。我们会根据您的查询/存储请求模式自动将您的数据分片到各种数据库中。
如果有帮助,请告诉我。:)

gojuced7

gojuced73#

我对zeromq了解不少,但对您提到的数据库服务器了解不多。
首先,您对zeromq有点困惑。虽然它是从amqp的经验中得到的,但是它使用zmtp有线协议。这是在zeromq开发期间定制设计的[但其他应用程序现在确实使用它]。
zeromq是一个小型且非常快速的mq库,对所有节点都是对称的;它非常适合小型应用程序。这里的问题是,您需要在其他系统上使用zmtp,无论是zeromq还是网桥。如果你打算为其他系统做插件之类的,那就好了。
不过,我假设您正在使用jms与其他系统通信,而不打算为它们开发附加组件。在这种情况下,您可能会被jms困住。Kafka是一个新的,我还没有赶上,但rabbitmq是一个好,快,小,经纪人。fwiw公司。有很多经纪人的比较你可以找到。很多人都是不可靠的,因为对设置的一个小小的调整就可以极大地影响性能,而且不一定要将苹果与苹果进行比较。如果你想在你的环境中比较代理的性能,没有什么捷径可以自己做。
有一件事让我很困惑,那就是您希望代理如何帮助您的回滚性能。您仍然需要以基本相同的方式执行回滚,尽管是通过代理异步执行的。

相关问题