protobuf でエンコードされたメッセージを使用して、kafka/samza ジョブのパイプラインを操作します。パイプラインは、特定のデータ セットに対して非常に長くなる可能性があるため、パイプラインの各ステージにタイムスタンプ/ID を追加して、効率とサービスの正常性を監視したいと考えています。
追加情報は、タッチポイントと呼ばれるスキーマの繰り返しフィールドに追加されます。明らかに、Java/samza でメッセージをデコードし、追加のメッセージを追加して再度シリアル化すると、メッセージのサイズに応じてオーバーヘッドが増加します (逆シリアル化時間が長くなる場合もあります)。パイプの一部は、メッセージをチェックする単なるフィルターです。キーであり、逆シリアル化する必要さえない場合があるため、これらのオーバーヘッドが少ないほど良い.
逆シリアル化せずに2番目のシリアル化されたメッセージを既存のメッセージに挿入することは可能ですか?もしそうなら、これは非常に悪い習慣であり(そうなると思います)、逆シリアル化/追加/する必要がないより良い解決策はありますか?メッセージ パス/フロー時間を監視するためのシリアル化