【问题标题】:Connecting to Foxx app as TCP bridge?作为 TCP 桥接器连接到 Foxx 应用程序?
【发布时间】:2016-11-20 20:40:35
【问题描述】:

我目前正在将我的 Foxx 应用程序设置为 GraphQL API 端点,我需要从浏览器和 Node 后端连接到它。我正在考虑为我的后端安装一个 arango.client npm 包,但它似乎只支持 HTTP。一次(在 Node 中)创建一个 TCP 连接桥并以更低的延迟和更少的开销与它通信不是更好吗?我知道 ArangoDB 支持 TCP,但为什么 arango.client 没有实现它?

【问题讨论】:

    标签: arangodb foxx


    【解决方案1】:

    目前 ArangoDB 仅将 HTTP 实现为传输端点。

    irretation 的来源可能是为服务器连接指定 arangosh 命令行参数如下所示:

    --server.endpoint tcp://127.0.0.1:8529

    但是那里使用的协议是 HTTP。

    绕过 TCP 堆栈的一个步骤可能是使用use unix domain sockets 进行 HTTP 通信。您可以使用Raw routes 与您的 Foxx 服务进行通信:

    var db = require('arangojs')();
    var myFoxxService = db.route('my-foxx-service');
    myFoxxService.post('users', {
        username: 'admin',
        password: 'hunter2'
    })
    .then(response => {
        // response.body is the result of
        // POST /_db/_system/my-foxx-service/users
        // with JSON request body '{"username": "admin", "password": "hunter2"}'
    });
    

    ArangoDB 3.0 将带来velocypack 和更高版本的原始 tcp 协议以支持 HTTP。 Foxx 支持也在计划中。

    虽然 arangojs 目前是一个纯 js 实现,但我们计划在未来通过类似的 API 提供原生后端。因此,如果您想从中受益,您现在应该使用 ArangoJS。

    【讨论】:

    • 感谢您的回复。很高兴您计划实现此功能,它将非常有用。现在拥有这个功能对我来说不是很重要,所以我想我会等到它在 Foxx 中实现。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多