Post

Schema Registry

Schema Registry 주제의 핵심 개념과 적용 포인트를 정리합니다.

Schema Registry

왜 필요한가

Avro를 사용하면 데이터 계약을 명확히 관리할 수 있지만, 매 레코드마다 전체 스키마를 포함하면 크기 오버헤드가 커진다.
이 문제를 해결하기 위해 스키마는 별도 저장소에 두고, 메시지에는 식별자(ID)만 담는 방식이 사용된다.

동작 방식

  1. 생산자는 스키마를 Registry에 등록(또는 조회)한다.
  2. 메시지에는 payload와 함께 스키마 ID를 기록한다.
  3. 소비자는 스키마 ID로 Registry에서 스키마를 가져와 역직렬화한다.

이 방식은 네트워크 전송량을 줄이고, 스키마 버전 관리를 체계화한다.

실무 장점

  • 스키마 호환성 규칙을 중앙에서 강제 가능
  • 서비스별 배포 시점이 달라도 데이터 계약 유지 가능
  • 스키마 변경 이력 추적이 쉬워 장애 분석에 유리

결론적으로 Schema Registry는 Kafka에서 “데이터 거버넌스”를 구현하는 핵심 컴포넌트다.

This post is licensed under CC BY 4.0 by the author.