2016-09-12 7 views
0

私たちが持つ問題を解決する良い方法があるかどうかを知りたがっています。フローは次のとおりです。kafkaのavroエンコードメッセージ内のprotobuf

クライアントコードはプロトコルバッファ(protobuf)のみを認識します。サーバー側では、ゲートウェイがprotobufを取得し、それをKafkaに配置します。

ここではavrが推奨されるコード体系なので、特定のprotobufをavro(バイト配列)に入れ、メッセージバスに配置します。これを行う理由は、protobuf-> avro変換全体を行う必要がないようにするためです。

消費者側では、avroメッセージを読み込み、そこからprotobufを取り出し、それを処理します。

protobufとKafkaの信頼性はどれくらいですか?それを使用している多くの人がいますか? protobufでKafkaを使う利点/欠点は何ですか?

ユースケース/シナリオを処理するためのより良い方法はありますか?すべてのメッセージがbinaryとしてカフカの内および流出端部におけるのでカフカは、符号化方式を区別しない

おかげ

答えて

0
  1. Proto-buffとAvroの両方がバイナリベースのエンコーディングスキームです。なぜ、proto-buffメッセージをKafkaに直接入れることができるときに、Avroスキーマ内でproto-buffをラップしたいのですか?
+0

ありがとうDinesh! (2)に答えるために、私はKafkaとのprotobufが広範囲に使用されているかどうかはわかりませんでした。カフカはAvroを推奨し、protobuf + kafkaが一般的なプロダクションで使用されているかどうかはわかりませんでした。どんな洞察? – ande11

+0

Avroに比べて広く使われていません。実際のカフカのクリエイターはAvroのデータフォーマットとしてAvroのサポートを表明していますが、その理由は以下の通りです。http://www.confluent.io/blog/stream-data-platform-2/ – kgdinesh

+0

ありがとう!はい、私はそれを見ました。なぜなら、私がavroの中でprotobufかもしれないと決めたのは、より合理的です。コンフルエントな勧告と一貫性を保つためです。あなたはprotobufでカフカの生産中の使用を知っていますか? – ande11

関連する問題