Schema Registry
Schema Registry 주제의 핵심 개념과 적용 포인트를 정리합니다.
Schema Registry
왜 필요한가
Avro를 사용하면 데이터 계약을 명확히 관리할 수 있지만, 매 레코드마다 전체 스키마를 포함하면 크기 오버헤드가 커진다.
이 문제를 해결하기 위해 스키마는 별도 저장소에 두고, 메시지에는 식별자(ID)만 담는 방식이 사용된다.
동작 방식
- 생산자는 스키마를 Registry에 등록(또는 조회)한다.
- 메시지에는 payload와 함께 스키마 ID를 기록한다.
- 소비자는 스키마 ID로 Registry에서 스키마를 가져와 역직렬화한다.
이 방식은 네트워크 전송량을 줄이고, 스키마 버전 관리를 체계화한다.
실무 장점
- 스키마 호환성 규칙을 중앙에서 강제 가능
- 서비스별 배포 시점이 달라도 데이터 계약 유지 가능
- 스키마 변경 이력 추적이 쉬워 장애 분석에 유리
결론적으로 Schema Registry는 Kafka에서 “데이터 거버넌스”를 구현하는 핵심 컴포넌트다.
This post is licensed under CC BY 4.0 by the author.