第 8 章 在 Java 客户端中配置 Kafka serializers/deserializers


本章介绍了如何在制作者和消费者 Java 客户端应用程序中配置 Kafka SerDes 的详细信息:

8.1. 客户端应用程序中的服务 Registry serializer/deserializer 配置

您可以使用本节所示的示例常量在客户端应用程序中直接配置特定的客户端 serializer/deserializer (SerDe)服务和 schema 查找策略。另外,您可以在文件或实例中配置对应的 Service Registry 应用程序属性。

以下小节显示了常用的 SerDe constants 和 配置选项示例。

配置 SerDe 服务

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
  1. Service Registry 所需的 URL。
  2. 扩展 ID 处理以支持其他 ID 格式,并将它们与 Service Registry SerDe 服务兼容。例如,将默认 ID 格式从 Long 更改为 Integer 支持 Confluent ID 格式。
  3. 简化 Confluent ID 的处理。如果设置为 true,则 Integer 用于全局 ID 查找。该设置不应与 ID_HANDLER 选项搭配使用。

其他资源

配置 SerDe 查找策略

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
...
  1. 实现工件解析器策略并在 Kafka SerDe 和工件 ID 之间映射的 Java 类。默认为主题 ID 策略。这仅由 serializer 类使用。
  2. 实施架构解析器的 Java 类。默认为 DefaultSchemaResolver。这由 serializer 和 deserializer 类使用。

配置 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
  1. 与 Service Registry Kafka 转换器一起使用所需的 serializer。
  2. 与 Service Registry Kafka 转换器一起使用所需的 deserializer。

其他资源

配置不同架构类型

有关如何为不同的模式技术配置 SerDe 的详情,请查看以下操作:

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.