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



Apache Kafka一起使用的最佳消息格式是什么,以便生产者和消费者可以定义契约和验证数据以及序列化/反序列化数据? 例如,在XML中,我们有XSD。 但是在 JSON 中没有通用模式。 我读过有关使用Apache Avro的信息,但不确定它会有多快,因为我负担不起超过5到6毫秒的模式验证和反序列化? 请提供任何输入吗?我们将每秒处理数千个事务,每个事务的SLA为150ms,所以我正在寻找非常快的东西

Avro 经常被引用为慢(er(,并且与其他二进制格式相比增加了开销,但我相信这是为了不使用模式注册表的用例,其中模式被排除在实际有效负载之外。

或者,如果您绝对想要一个模式,您可以使用 Protobuf 或 Thrift,但是,从我所看到的情况来看,我认为这些格式的序列化程序并不容易获得。此外,如果没有以其他方式提交到中心位置,则需要在客户端之间传递架构。

不过,我可以自信地说,Avro 应该适合开始,而且注册表绝对有用,而不仅仅是用于 Kafka 用例。

最新更新