私は現在、(他のさまざまなプログラミング言語)からアクセスできる(複数のプログラミング言語のAPI)を開発しようとしています。私はApacheThriftを調べましたが、Thriftを使用して任意の2つの言語間でシームレスな外部関数呼び出しを許可できる可能性があるようです。これは正しいです?
質問する
343 次
2 に答える
1
Thriftは、プロセスFFIではなく、ネットワークを介した異なるプロセス間の通信を容易にするために作成されます。Thriftの一部(IDLなど)を取得してFFIに採用することはおそらく可能ですが、それは重要な作業であり、最適ではない結果をもたらす可能性があります。
于 2012-10-15T07:51:39.103 に答える
1
私は実際に自分と同じようなことを考えていました。
Thrift仕様にはコアコンセプトがあります。
- トランスポート:この部分は、クライアントとサーバー間のデータ転送を容易にする役割を果たします。
- プロトコル:この部分は、さまざまな方法で上記のデータをフォーマットする責任があります。これは、JSON、圧縮バイナリ、さらには生の非圧縮バイナリにすることができます。
- サーバー:これは、これらのものをまとめて管理する責任があります。
Thriftを使用すると、これらのさまざまなパーツを独自の方法で混合して、目的に適したものを作成できます。ただし、Thriftは依然としてサーバークライアント指向です。
倹約でAPIを開発するということは、理論的には任意の言語のプラグインを持つことができるということです。メインソフトウェアコンポーネントはサブプロセスを起動し、STD-IN/OUTをトランスポートとして使用します。これにより、言語に関係なくRPC呼び出しを行うことができます。
于 2012-10-15T19:24:02.797 に答える