schema registry는 Kafka 메시지의 데이터 스키마를 관리합니다 — 이벤트 데이터의 구조를 정의하고 강제하여 스키마 진화를 안전하게 가능하게 합니다. producer와 consumer 간 데이터 일관성과 호환성에 중요합니다.
문제: 메시지의 데이터 구조
Kafka 메시지는 단지 바이트 → producer와 consumer가 데이터 구조에 합의해야 함:
→ 관리 없이 → producer가 형식을 바꿔 consumer를 망가뜨릴 수 있음
→ consumer는 구조를 어떻게 아는가? 어떻게 안전하게 바꾸는가?
→ SCHEMA REGISTRY가 이를 관리합니다.
schema registry가 하는 일
SCHEMA REGISTRY → 메시지 SCHEMA를 저장하고 관리하는 중앙 서비스:
→ 메시지 데이터의 구조(필드, 타입) 정의 — 예: AVRO, Protobuf, JSON Schema로
→ producer/consumer가 스키마를 참조(ID로) → 일관된 직렬화/역직렬화
→ 스키마 강제 → 데이터가 따르는지 검증; consumer가 메시지를 파싱하는 법을 앎
→ producer와 consumer가 일관되고 진화하는 계약을 공유하도록 보장
