第 8 章 在 Java 客户端中配置 Kafka 序列化器/反序列化器
本章详细介绍了如何在生产者和消费者 Java 客户端应用程序中配置 Kafka 序列化器/反序列化器(SerDes):
- 第 8.1 节 “客户端应用程序中的 Apicurio Registry serializer/deserializer 配置”
- 第 8.2 节 “Apicurio Registry serializer/deserializer 配置属性”
- 第 8.3 节 “如何配置不同的客户端序列化器/反序列化器类型”
- 第 8.3.1 节 “使用 Apicurio Registry 配置 Avro SerDe”
- 第 8.3.2 节 “使用 Apicurio Registry 配置 JSON 架构 SerDe”
- 第 8.3.3 节 “使用 Apicurio Registry 配置 Protobuf SerDe”
先决条件
您可以使用本节中显示的示例常量直接在客户端应用程序中配置特定的客户端序列化/反序列化器/反序列化器(SerDes)服务和模式查找策略。
以下小节演示了常用的 SerDes 常量和配置选项示例。
配置 SerDes 服务
public class SerdeConfig {
public static final String REGISTRY_URL = "apicurio.registry.url";
public static final String ID_HANDLER = "apicurio.registry.id-handler";
public class SerdeConfig {
public static final String REGISTRY_URL = "apicurio.registry.url";
public static final String ID_HANDLER = "apicurio.registry.id-handler";
- Apicurio Registry 所需的 URL。
-
扩展 ID 处理以支持其他 ID 格式,并使其与 Apicurio Registry SerDes 服务兼容。例如,您可以将它从与 Confluent 的 ID 格式兼容的默认 ID 格式改为
Long。
配置 SerDes 查找策略
public class SerdeConfig {
public static final String ARTIFACT_RESOLVER_STRATEGY = "apicurio.registry.artifact-resolver-strategy";
public static final String SCHEMA_RESOLVER = "apicurio.registry.schema-resolver";
...
public class SerdeConfig {
public static final String ARTIFACT_RESOLVER_STRATEGY = "apicurio.registry.artifact-resolver-strategy";
public static final String SCHEMA_RESOLVER = "apicurio.registry.schema-resolver";
...
配置 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";
public static final String REGISTRY_CONVERTER_DESERIALIZER_PARAM = "apicurio.registry.converter.deserializer";
public class SerdeBasedConverter<S, T> extends SchemaResolverConfigurer<S, T> implements Converter, Closeable {
public static final String REGISTRY_CONVERTER_SERIALIZER_PARAM = "apicurio.registry.converter.serializer";
public static final String REGISTRY_CONVERTER_DESERIALIZER_PARAM = "apicurio.registry.converter.deserializer";
- 与 Apicurio Registry Kafka 转换程序搭配使用所需的 serializer。
- 与 Apicurio Registry Kafka converter 搭配使用所需的 deserializer。
配置不同的模式类型
有关如何为不同的模式技术配置 SerDe 的详情,请参考以下内容: