第 8 章 在 Java 客户端中配置 Kafka 序列化器/反序列化器


本章详细介绍了如何在生产者和消费者 Java 客户端应用程序中配置 Kafka 序列化器/反序列化器(SerDes):

您可以使用本节中显示的示例常量直接在客户端应用程序中配置特定的客户端序列化/反序列化器/反序列化器(SerDes)服务和模式查找策略。另外,您可以在文件或实例中配置对应的 Apicurio Registry 应用程序属性。

以下小节演示了常用的 SerDes 常量和配置选项示例。

配置 SerDes 服务

public class SerdeConfig {

   public static final String REGISTRY_URL = "apicurio.registry.url"; 
1

   public static final String ID_HANDLER = "apicurio.registry.id-handler"; 
2

   public static final String ENABLE_CONFLUENT_ID_HANDLER = "apicurio.registry.as-confluent"; 
3
Copy to Clipboard Toggle word wrap
  1. Apicurio Registry 所需的 URL。
  2. 扩展 ID 处理以支持其他 ID 格式,并使其与 Apicurio Registry SerDes 服务兼容。例如,将默认 ID 格式从 Long 改为 Integer 支持 Confluent ID 格式。
  3. 简化对 Confluent ID 的处理。如果设置为 true,则使用 Integer 进行全局 ID 查找。此设置不应与 ID_HANDLER 选项一起使用。

配置 SerDes 查找策略

public class SerdeConfig {

   public static final String ARTIFACT_RESOLVER_STRATEGY = "apicurio.registry.artifact-resolver-strategy"; 
1

   public static final String SCHEMA_RESOLVER = "apicurio.registry.schema-resolver"; 
2

...
Copy to Clipboard Toggle word wrap
1 1
实现工件解析器策略的 Java 类,并在 Kafka SerDes 和工件 ID 之间映射。默认为主题 ID 策略。这仅由 serializer 类使用。
2 2
实施 schema 解析器的 Java 类。默认为 DefaultSchemaResolver。这由序列化器和反序列化器类使用。

配置 Kafka 转换器

public class SerdeBasedConverter<S, T> extends SchemaResolverConfigurer<S, T> implements Converter, Closeable {

   public static final String REGISTRY_CONVERTER_SERIALIZER_PARAM = "apicurio.registry.converter.serializer"; 
1

   public static final String REGISTRY_CONVERTER_DESERIALIZER_PARAM = "apicurio.registry.converter.deserializer"; 
2
Copy to Clipboard Toggle word wrap
  1. 与 Apicurio Registry Kafka 转换程序搭配使用所需的 serializer。
  2. 与 Apicurio Registry Kafka converter 搭配使用所需的 deserializer。

配置不同的模式类型

有关如何为不同的模式技术配置 SerDe 的详情,请参考以下内容:

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat