我们使用 protobuf 编码消息处理 kafka/samza 作业管道。对于某些数据集,管道可能相当长,我们希望为管道中的每个阶段添加时间戳/id 以监控效率和服务健康状况。
附加信息将被添加到模式中称为接触点的重复字段中。显然,在 java/samza 中解码消息,添加附加消息并再次序列化会产生随消息大小而增加的开销(有些可能会很大,增加反序列化时间),管道的某些部分只是检查消息的过滤器关键,甚至可能根本不需要反序列化,因此这些开销越少越好。
是否可以在不反序列化的情况下将第二条序列化消息注入现有消息,如果是这样,这样做会是非常糟糕的做法(我只能认为会),是否有更好的解决方案不必反序列化/添加/序列化用于监控消息路径/时间流