在spring kafka中是否有配置SpecificAvroSerdes(或任何基于模式注册表的serdes-JsonSchema和Protobuf)的示例,允许利用一些自动配置(基于yaml或属性文件)。
在SO中有一些类似的问题,比如如何使用Spring Kafka使用合流模式注册表读取AVRO消息?
但我想具体介绍一下Kafka流serdes和serdes的声明性配置。
非常感谢。
看起来Kafka Streams可以配置默认的Serde。请参阅StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG
和StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG
。
根据Spring Boot约定,我们可以从YAML文件中提供任意属性:https://docs.spring.io/spring-boot/docs/2.4.0/reference/html/spring-boot-features.html#boot-特色Kafka额外道具
因此,可能可以在应用程序中配置特定的avroserdes。属性如下:
spring.kafka.streams.properties[default.value.serde]=io.confluent.kafka.streams.serdes.avro.SpecificAvroSerdes
我正在与Avro/Kafka和Confluent的Avro模式注册中心合作。 我使用avsc文件和avdl制作了一些基本模式和具有基本类型的主题。 我正在查看Confluent制作的API文档,以尝试将模式发展到版本2。特别是本部分: https://docs.confluent.io/current/schema-registry/using.html#register-a-new-versio
我现在一直在查看Spring Cloud模式注册表和汇合模式注册表。我可以看到一些区别,例如Spring Cloud模式注册表将模式保存在普通数据库中,默认情况下保存在h2中,而汇合模式注册表保存在kafka主题中。 spring云模式注册表的这种方法是否会对性能产生任何影响。据我所知,即使数据保留在主题上,以防汇合,查询它时仍然会有延迟。但会有重大影响吗? 我还可以看到,spring云模式注册表
我正在使用融合模式注册表和Avro,我想在一个Kafka主题中使用多个模式。 默认主题命名策略不允许这样做,因为它将模式主题名称与主题名称耦合。显然可以覆盖它并将主题命名策略设置为或。 不幸的是,留档不太清楚如何或在哪里可以覆盖主题命名策略。 本文档建议您在创建或修改主题时提供配置: 从Confluent Platform 5.5.0开始,命名策略与主题相关联。因此,您现在可以选择在每个主题的基础
我正在StreamingTableEnvironment中将数据流注册为Flink表。 我没有使用Create Table命令with connector注册流,因为数据格式是自定义的,这就是我为什么要注册流的原因。
我正在了解Confluent的模式注册表,以满足所有模式管理需求。 我不太理解他们的版本控制方法...有一个的概念,我将其视为一个名称空间。据我所知,subject在模式注册表中必须是唯一。 然后是模式id,或者只是,它也是唯一的。 最后,还有一个。 以下是文档中的片段: :此主题的架构版本,每个主题从1开始 :全局唯一的架构版本id,在所有主题中的所有架构中都是唯一的 因此,一旦我想修改特定主题
我在学习Spring Boot时遇到了一些编码问题;我想添加一个像Spring3.x那样的CharacterEncodingFilter。就像这样: