gpt4 book ai didi

node.js - 从nodejs批量加载titan db中的数据

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:34 25 4
gpt4 key购买 nike

我目前的情况是这样的

  1. 我有一个rabbit mq,它可以为我提供所下订单的详细信息。
  2. 在另一边,我有我的 titan 数据库(cassandra 存储、es 索引后端和 gremlin 服务器)。
  3. 另一个我有nodejs应用程序,它可以使用https://www.npmjs.com/package/gremlin通过http api与gremlin服务器交互。 。我可以从这里访问我的图形数据库。

现在我想做的是将数据从rabbit mq加载到titan db中。

到目前为止我能做的是使用gremlin Node 模块从nodejs文件加载数据

    var createClient = require('gremlin').createClient;
//import { createClient } from 'gremlin';

const client = createClient();

client.execute('tx=graph.newTransaction();tx.addVertex(T.label,"product","id",991);tx.commit()', {}, function(err, results){
if (err) {
return console.error(err)
}
console.log(results)
});

接下来我应该如何移动,以便我可以利用现有的rabbit mq订单并将它们推送到titan db中。

Due to some constraints I can not use java.

最佳答案

您很可能正在寻找类似 node-amqp 的内容,这是 RabbitMQ 的 Node.js 客户端。你想做的是:

  1. 建立与 Gremlin 服务器的连接
  2. 建立与 RabbitMQ 的连接
  3. 监听 RabbitMQ 队列中的消息
  4. 将这些消息发送到 Gremlin,创建图形元素

您必须注意的事情可能会影响您的表现:

  1. 通过 bound parameters 发送 Gremlin 查询
  2. 批量消息:创建多个顶点并在同一事务中提交它们(= 相同的 Gremlin 查询,除非在 session 模式下您自己 .commit() )。几千个数字应该可以。
  3. 注意背压,并确保您的 Titan 实例不会被超出其处理能力的消息淹没。

我不熟悉 RabbitMQ,但希望这可以帮助您入门。

注意:Gremlin javascript 驱动程序通过 WebSocket 连接与 Gremlin Server 进行交互,该连接是永久且双向的。客户端尚不支持 HTTP Channelizer(这不是您希望在当前场景中建立的连接类型)。

关于node.js - 从nodejs批量加载titan db中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36820316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com