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