5

protobuf メッセージで定義されたインターフェイスを持つモジュール/アプリケーションで構成される分散システムを構築しています。

これらの protobuf メッセージをクライアントに直接公開することは良い考えですか? ...または、各モジュールに基づいたprotobufへのメソッドベースのインターフェイスの変換を担当し、クライアントがprotobufについてまったく認識しない共有ライブラリを準備する方がよいでしょうか?

4

2 に答える 2

7

それは「良いアイデア」でも悪いアイデアでもありません。コンシューマーにプロトコル バッファーを課すかどうかによって異なります。その決定の大部分は次のとおりです。

  • あなたの消費者は誰ですか?protobuf の詳細を公開してもよろしいですか?
  • クライアントは、protobuf をサポートする言語で作成されますか?

私の 0.02 ドルは、これが Protocol Buffers の完璧な使用例であるということです。なぜなら、それらはシステム間、言語間の交換を念頭に置いて特別に設計されているからです。この.protoファイルは、簡潔で言語に依存しない、データ形式の詳細な説明になります。もちろん、この道を進むことにした場合は、考慮すべき他の類似/競合するフォーマットとライブラリがあります ( Thrift Cap'n Protoなどを参照)。

于 2013-04-13T21:48:43.913 に答える