6

次の分散アプリケーションに適したプロトコル ミドルウェアを見つけようとしています。ここ数日でいくつかの仕様を見つけましたが、重要な仕様を見逃していないかどうか疑問に思っていましたか? これはバイナリ プロトコルであり、RPC をサポートし、オプションでさまざまな言語のオープンソース実装を備えている必要があります。私が見つけたプロトコルのリストは次のとおりです。

  • コルバ
  • AMQP
  • 倹約

そして、これは却下されたプロトコルのリストです:

  • テキストベースであるため、XML ベースのプロトコル (XML-RCP、SOAP、手巻きなど)
  • プロトコル バッファ (クローズド ソース)
  • COM (Windows のみ)
4

9 に答える 9

14

Protocol Buffers プロジェクトは、クローズド ソースではありません

どの言語/プラットフォームに興味がありますか?

Protocol Buffers にはスタブRPC サポートがありますが、Google は実際の RPC レイヤーをリリースしていないため、独自の RPC レイヤーを提供する必要があることに注意してください。基本的にリクエスト メッセージを渡し、レスポンス メッセージを返すことを考えると、既存のプロトコル (HTTP POST など) の上にそれを重ねることはそれほど難しくありません。

于 2008-12-09T11:28:25.040 に答える
8

Protocol Buffersはクローズドソースではないと思います。ページの意味は異なり、ソースのダウンロードがあります。

于 2008-12-09T11:26:19.193 に答える
3

おそらく最良の候補ではありませんが、完全を期すために、XML用のバイナリエンコーディングがあることを付け加えたいと思います。

于 2008-12-09T11:51:20.173 に答える
3

Google Protocol Buffers を再検討することをお勧めします。Google 自身が公開した C++/Java/Python を含む、すべての主要なプラットフォーム用のオープン ソース実装が多数あります。

上で Jon Skeet が言及したように、PB 仕様は RPC モデルを定義していませんが、PB を使用して独自の RPC を定義するのは非常に簡単です。

または、ASN.1 を参照することもできます。ASN.1 を使用するアプリは数多くあります。

于 2008-12-29T22:15:35.797 に答える
2

ジョー・アームストロングのUBFは流行っていないようですが、上品なデザインであなたの要求を満たしています。

于 2009-01-10T11:22:43.733 に答える
2

ASN.1を見ることができます。

ASN.1 自体はトランスポート プロトコルを定義していませんが、他の多くのプロトコル (SNMP、LDAP など) でバイナリ データのエンコードと送信に使用されます。

于 2008-12-09T11:30:05.223 に答える
0

RabbitMQ AMQP を試し、Protocol Buffers、XML、または JSON などの他のデータ形式を使用して味わうことをお勧めします。これは、比較的単純で使い始めるのが簡単であることに加えて、RPC と非同期の pubsub スタイルを組み合わせて組み合わせることができ、言語、プロトコル、およびプラットフォーム全体に広く普及しています。しかし、それはあなたの問題には適していないかもしれません - それはあなたが何をしようとしているのかにかかっています! 乾杯、アレクシス

于 2009-01-10T10:19:52.613 に答える
0

MPEG-4 の定義に使用されるフレーバー

于 2012-05-03T06:47:29.913 に答える