搜索

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

download PDF

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

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

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

以下小节展示了常用的 SerDes constants 和 configuration options 的示例。

配置 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
  1. Service Registry 所需的 URL。
  2. 扩展 ID 处理以支持其他 ID 格式,并将它们与 Service 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
...
1 1
实现工件解析器策略和映射的 Java 类,并在 Kafka SerDes 和工件 ID 之间映射。默认为主题 ID 策略。这仅由 serializer 类使用。
2 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 转换所需的序列化器。
  2. 用于 Service Registry Kafka 转换所需的反序列化器。

其他资源

配置不同模式类型

有关如何为不同的模式技术配置 SerDes 的详情,请参考:

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.