第8章 Java クライアントでの Kafka シリアライザー/デシリアライザーの設定
本章では、プロデューサーおよびコンシューマー Java クライアントアプリケーションで Kafka SerDes を設定する方法について詳しく説明します。
8.1. クライアントアプリケーションの Service Registry シリアライザー/デシリアライザーの設定
本セクションの定数例を使用して、特定のクライアントシリアライザー/デシリアライザー (SerDe) サービスおよびスキーマ検索ストラテジーを直接クライアントアプリケーションに設定できます。または、ファイルまたはインスタンスで対応する Service Registry アプリケーションプロパティーを設定できます。
以下のセクションでは、一般的に使用される SerDe 定数および設定オプションの例を紹介します。
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
- Service Registry の必須の URL。
-
ID 処理を拡張することで、他の ID 形式をサポートし、その形式に Service Registry SerDe サービスとの互換性を持たせます。たとえば、ID 形式を
Long
からInteger
に変更すると Confluent ID 形式がサポートされます。 -
Confluent ID の処理を簡素化します。
true
に設定すると、Integer
がグローバル ID の検索に使用されます。この設定は、ID_HANDLER
オプションと一緒に使用しないでください。
関連情報
- 設定オプションの詳細は、「Service Registry シリアライザー/デシリアライザー設定プロパティー」 を参照してください。
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 ...
- アーティファクトリーゾルバーストラテジーを実装し、Kafka SerDe とアーティファクト ID の間をマッピングする Java クラス。デフォルトはトピック ID ストラテジーです。これはシリアライザークラスによってのみ使用されます。
-
スキーマリゾルバーを実装する Java クラス。デフォルトは
DefaultSchemaResolver
です。これは、シリアライザーおよびデシリアライザークラスによって使用されます。
その他のリソース
- 検索ストラテジーの詳細は、7章Java クライアントでシリアライザー/デシリアライザーを使用した Kafka メッセージの検証 を参照してください。
- 設定オプションの詳細は、「Service Registry シリアライザー/デシリアライザー設定プロパティー」 を参照してください。
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
- Service Registry Kafka コンバーターと使用するために必要なシリアライザー。
- Service Registry Kafka コンバーターと使用するために必要なデシリアライザー。
その他のリソース
- 詳細は、SerdeBasedConverter Java class を参照してください。
さまざまなスキーマタイプの設定
さまざまなスキーマ技術に SerDe を設定する方法は、以下を参照してください。