1

現在、Foxx アプリを GraphQL API エンドポイントとして設定しており、ブラウザーと Node バックエンドから接続する必要があります。バックエンド用にインストールしようと考えている npm パッケージがありますが、arango.clientHTTP しかサポートしていないようです。TCP 接続ブリッジを一度 (Node で) 作成し、それと通信する際のレイテンシとオーバーヘッドを抑えた方がよいのではないでしょうか? ArangoDB が TCP をサポートしていることは知っていますが、なぜ に実装されていないのarango.clientですか?

4

1 に答える 1

1

現在、ArangoDB はトランスポート エンドポイントとして HTTP のみを実装しています。

サーバー接続用のarangoshコマンドライン パラメータの指定が次のようになっていることが、不満の原因である可能性があります。

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

しかし、そこで話されているプロトコルは HTTP です。

TCP スタックをバイパスする 1 つの手順は、HTTP 通信にUNIX ドメイン ソケットを使用することです。Raw ルートを使用して、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とそれ以降の raw tcp プロトコルを HTTP のサイドラインにもたらします。Foxx のサポートも予定されています。

現在、arangojs は純粋な js 実装ですが、将来的には同様の API でネイティブ バックエンドを提供する予定です。したがって、そのメリットを享受したい場合は、今すぐ ArangoJS を使用する必要があります。

于 2016-02-18T13:18:04.433 に答える