0

使用 Java 客户端生产者,可以在发布到主题之前对消息进行微调以符合模式格式。

使用kafka rest代理,如果消息无法使用kafka avro模式版本反序列化,如何拒绝消息?这是为了防止不符合模式的客户端添加垃圾。我看到该版本会自动升级到主题的新模式。如何限制发布到主题的消息?这可能是由于所有错误的生产者客户。

我正在搜索文档,并且我是学习 kafka 的新手。我知道消费者可以通过偏移变得更聪明,但我想清理主题中的垃圾。谢谢。

4

2 回答 2

0

例如,如果不在注册表前放置一些拒绝模式更新请求的反向代理,Apache Kafka 就无法防止这种情况发生。而且您必须拒绝绕过该代理的任何人访问

于 2019-11-22T03:15:25.790 回答
0

如果我正确理解了您的问题,您需要拒绝所有与您的标准架构不兼容的事件,如果正确,那么尝试 AVRO 架构注册表兼容性检查会很有帮助。

如何冻结主题的新版本 AVRO 模式,以便拒绝不合规的消息?

如果你想冻结一个模式的版本,那么对所有必填字段使用 FULL/FULL_TRANSITIVE 兼容类型,现在你不能删除任何字段,因为注册表不允许你删除非可选字段,并且只能添加可选字段。这样您就可以冻结现有字段的删除,但仍然可以添加可选字段,这不应该对其他不相关的客户产生影响。

希望能帮助到你!

于 2019-11-22T04:21:08.780 回答