2017-01-09 4 views
0

OpenSSLを使用してTCPソケットサーバーを作成した経験があり、Apache Thriftの詳細を理解したいと思っています。私は、スリフトサーバのいくつかの例をbasicで見てきました。そして、私は、スリフトがパイプを扱えることを理解しています。Apache ThriftとTCPソケットサーバーの特性を理解していますか?

ThriftサーバがTCPサーバとどのように違うのか(パイプの使用を除いて)簡単な説明がありますか? また、Thriftフレームワークでは異なる転送プロトコルを使用していますか?

これは簡単な質問ですが、私は初心者レベルの説明を見つけることができません。

+0

[RPCフレームワークとApache Thriftとは何か?](http://stackoverflow.com/questions/20653240/what-is-rpc-framework-and-apache-thrift) – JensG

答えて

1

[...]スリフトサーバとTCPサーバが異なるのはどういう意味ですか?

残骸は、生のソケットの上に少なくとも1つの抽象レイヤーです。 のいずれかのメディア(そのうちの1つはTCPソケット)に情報を送受信できる抽象化を提供します。

基礎となるトランスポートメディア自体は重要ではなく、プロトコルも使用されません(バイナリ、コンパクト、JSONなど)。どちらもアプリケーションの残りの部分に完全に透過的です。

つまり、ソケットをプログラミングするか、JSONを独自に解析するのではなく、型保証サービスAPIを開発します。

バイト、エンコーディング、ソケットの微妙な部分に戸惑う代わりに、Thriftを使用すると、そのサービスでクライアントとしてやりたいことや、サーバー側のロジックを実装することに集中することができます。

さらに、残りのコードに影響を与えることなく、必要に応じてトランスポートおよび/またはプロトコルを変更することができます。

1
  1. スリフトプロトコルは、TCPトランスポートレイヤーよりも上位の実装です。それは重要な要素を提供します:

    • シリアライズ
    • RPCプロトコル
  2. 主な利点の中で、ビューの私の個人的なポイントから、特に異なる言語間で、安全性を入力しています。 洗練されたケースでTCP(ソケット)ソリューションを手動で書くのは難しいようです。

それが正式な定義(IDL - * .thriftファイル、時々このフォームはスキーマと呼ばれている)から生成されるので、それはWSDL/SOAPとの類似性を共有し、より高いパフォーマンスを誇っています。私はモバイルクライアントなどで使っています。

ほとんど流行の最後の年は、ほとんどのコードは手作業で書かなければならないことが分かっている限り、JSON over RESTです。 JSONにはスキーマ(公式の標準)がありません。

頭字語私は一般的に知られています。私の答えは非常に一般的で簡素化されており、専門家は私を許してください。

関連する問題