与提供模式验证的Apache Kakfa一起使用的数据交换格式

时间:2019-02-08 05:38:36

标签: serialization apache-kafka schema avro

与apachhe kafka一起使用的最佳消息格式是什么,以便生产者和消费者可以定义合同并验证数据并序列化/反序列化数据?例如在xml中,我们有xsd。但是在json中没有通用的架构。.我读到有关使用Apache Avro的信息,但不确定该速度有多快,因为我负担不起5到6毫秒以上的架构验证和反序列化费用?有任何输入吗? 我们将每秒处理数千笔交易,每笔交易的SLA为150ms,所以我正在寻找非常快的东西

1 个答案:

答案 0 :(得分:1)

Avro通常被引用为较慢,并且与其他二进制格式相比会增加开销,但是我相信这是使用 not 的使用案例,其中使用的是架构注册表从实际有效载荷中排除。

或者,如果您绝对希望使用模式,则可以使用Protobuf or Thrift,但是根据我所见,我认为这些格式的序列化器不容易使用。另外,如果没有另外将它们提交到中央位置,则需要在客户端之间传递模式。

我可以自信地说,Avro应该适合入门,而且注册表肯定有用,而不仅仅是Kafka用例。