在kafka上的avro编码消息中的protobuf

时间:2016-09-12 19:38:51

标签: apache-kafka avro protocol-buffers

想知道是否有更好的方法来解决我们遇到的问题。这是流程:

我们的客户端代码仅了解协议缓冲区(protobuf)。在服务器端,我们的网关获取protobuf并将其放到Kafka上。

现在avrò是推荐的编码方案,因此我们将特定的protobuf放在avro(作为字节数组)中,然后将它放到消息总线上。我们这样做的原因是为了避免必须进行整个protobuf-> avro转换。

在消费者方面,它会读取avro消息,从中获取protobuf并继续工作。

与卡夫卡的protobuf有多可靠?有很多人使用它吗?使用Kafka和protobuf的优点/缺点究竟是什么?

有没有更好的方法来处理我们的用例/场景?

感谢

1 个答案:

答案 0 :(得分:0)

  1. Kafka没有区分编码方案,因为最后每条消息都以binary的形式流入和流出kafka。
  2. Proto-buff和Avro都是基于二进制的编码方案,当你可以直接将proto-buff消息放入Kafka时,你为什么要将一个proto-buff包装在Avro架构中?