RPCフレームワークとApache Thriftとは何ですか?


99

大学のプロジェクトでApache Thriftを学ぶ必要があります。このチュートリアルが言うように、これはRPCフレームワークであり、Thriftでドキュメント以外に見つけた唯一のドキュメントでした。

誰かがRPCフレームワークとは何か、そしてこれがApache Thriftとどのように関係しているのか教えてもらえますか?

回答:


158

RPCフレームワーク、一般的には、それが別のマシンまたは同じマシン上でだけ別のプロセスであること、リモート・プロセスのコードの一部を呼び出すためにプログラマを可能にするツールのセットです。

Apache Thriftの特定のケースでは、効率的で、OSプラットフォームとプログラミング言語の両方で利用できるように設計されたフレームワークについて説明します。さらに、トランスポート(ソケット、パイプなど)とプロトコル(バイナリ、JSON、さらには圧縮)に加えて、SSLやSASLサポートなどのいくつかのオプションに関して、ある程度の柔軟性があります。

たとえば、C ++で記述されたサーバーをLinuxマシンにセットアップすると、HTTPを介したJSONベースのプロトコルを通じて世界にサービスを提供できます。このサービスは、Windowsマシンで実行されているPythonで記述されたクライアントプログラムによって呼び出される場合があります。サーバーとクライアントの両方のコードは、Thrift IDLファイルから生成されます。それを実行するには、基本的に、目的のプログラムロジックのみを追加し、すべての要素を組み合わせる必要があります。

Apache Thriftの最も優れたリファレンスは、まだApache Thrift Whitepaperです。詳細の一部は少し古くなっていますが、基礎となる概念はまだ有効です。もう1つの優れた読み物は、Diwaker Guptaの「Missing Guide」であり、特にRandy Abernethyの次の本が最後に続きます。

初心者には、Apache Thrift チュートリアルスイートから始めることをお勧めします。これらの例は、コア機能の多くを示しています。質問が発生した場合は、SOまたはThriftメーリングリストで質問してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.