コンテンツにスキップ

API サーバー

API サーバー層を有効にすると、AkkEngine の操作を別プロセスやネットワーク越しに受け付けられます。これは高レベル API ではなく、低レベル API の公開境界です。呼び出し側はバイト列のキーとバイト列の値を送り、サーバーはそれを同じ AkkEngine の操作へ渡します。

別プロセス、別言語ランタイム、テストツール、またはサービス境界からエンジンへアクセスしたい場合に使います。同じ C++ プロセス内で完結するアプリケーションなら、AkkEngine を直接呼ぶほうが単純で、プロトコル処理のオーバーヘッドも避けられます。

API サーバーのコードは akkara/akkserver/ にあり、AGPLv3 で別ライセンスになっています。サーバー有効ビルドを配布する場合は、この境界を確認してください。

目的ページ
サーバーを起動してクライアントから呼ぶAPI サーバーの使い方
通信方式、フレーミング、制限値、実行時構造を理解するAPI サーバーのアーキテクチャ
通信方式向いている用途
HTTP手元での確認、ローカルツール、スクリプト、簡単なサービス連携。
TCPAK5 バイナリフレームを直接実装できる、高スループット向けクライアント。
gRPCgRPC バックエンドを含むビルドで、生成クライアントやサービス定義を使いたい場合。

どの通信方式でも、基本はバイト列指向のキー/値操作です。HTTP API も一般的な JSON REST API ではありません。読み取りは生のバイト列を返し、カウンタは little-endian のバイナリ値で返り、多くの更新系エンドポイントは 204 No Content を返します。