1.6. 스키마 및 Java 클라이언트 serializers/deserializers를 사용하여 Kafka 메시지 검증
Kafka 생산자 애플리케이션은 직렬화기를 사용하여 특정 이벤트 스키마를 준수하는 메시지를 인코딩할 수 있습니다. 그런 다음 Kafka 소비자 애플리케이션에서 역직렬화기를 사용하여 특정 스키마를 기반으로 메시지가 올바른 스키마를 사용하여 직렬화되었는지 확인할 수 있습니다.
그림 1.2. Service Registry 및 Kafka 클라이언트 SerDes 아키텍처
![Kafka 클라이언트 SerDes 아키텍처](https://access.redhat.com/webassets/avalon/d/Red_Hat_Integration-2023.Q4-Service_Registry_User_Guide-ko-KR/images/bf1c0c9520cba0b195b1331054f9d9db/registry-serdes-architecture.png)
서비스 레지스트리는 Kafka 클라이언트 직렬화기/디렉시저(deserializer)를 제공하여 런타임 시 다음 메시지 유형을 검증합니다.
- Apache Avro
- Google Protobuf
- JSON 스키마
Service Registry Maven 리포지토리 및 소스 코드 배포에는 Kafka 클라이언트 애플리케이션 개발자가 서비스 레지스트리와 통합하는 데 사용할 수 있는 이러한 메시지 유형에 대한 Kafka SerDes 구현이 포함되어 있습니다.
이러한 구현에는 지원되는 각 메시지 유형에 대한 사용자 지정 Java 클래스가 포함됩니다(예: io.apicurio.registry.serde.avro
). 클라이언트 애플리케이션은 검증을 위해 런타임 시 서비스 레지스트리에서 스키마를 가져오는 데 사용할 수 있습니다.