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


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

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

您可以使用本节中的示例常量在客户端应用程序中直接配置特定的客户端序列化/反序列化器(SerDe)服务和架构查找策略。另外,您还可以在文件或实例中配置对应的 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. 实现工件解析器策略的 Java 类,并在 Kafka SerDe 和工件 ID 之间映射。默认为主题 ID 策略。这仅由 serializer 类使用。
  2. 实现 schema 解析器的 Java 类。默认为 DefaultSchemaResolver。这被 serializer 和 deserializer 类使用。

配置 Kafka converters

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 converter 搭配使用所需的序列化器。
  2. 与 Service Registry Kafka converter 搭配使用所需的 deserializer。

其他资源

配置不同的模式类型

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.