피드로 돌아가기
InfoQInfoQ
Infrastructure

Schema ID의 Header 이동을 통한 Payload-Metadata 디커플링 및 거버넌스 최적화

Confluent Moves Schema IDs to Kafka Headers to Simplify Schema Governance

Leela Kumili2026년 5월 1일3intermediate

Context

기존 Confluent wire format의 Payload 내 Schema ID 내장 방식으로 인한 데이터와 메타데이터 간 강한 결합 발생. 이로 인해 다수 팀이 공유하는 Event Stream 환경에서 Schema Evolution 시 생산자와 소비자 간의 과도한 조율 비용 및 운영 복잡도 증가.

Technical Solution

  • Schema ID 저장 위치를 Message Payload에서 Kafka Record Header로 변경하여 데이터 구조의 순수성 확보
  • Header 내 ID를 기반으로 Runtime 시점에 Schema Registry에서 스키마를 조회하는 Decoupled Resolution 구조 설계
  • Avro, Protobuf, JSON Schema 등 기존 포맷의 변경 없이 메타데이터 관리 계층만 분리하여 하위 호환성 유지
  • 기존 Payload 포맷을 유지한 상태에서 Schema Governance를 점진적으로 도입하는 Incremental Adoption 전략 채택
  • Schema Registry 중심의 중앙 집중식 검증 체계를 통해 Producer와 Consumer의 독립적인 진화 가능 구조 구축

1. Event-Driven Architecture 설계 시 비즈니스 데이터(Payload)와 제어 정보(Metadata)를 물리적으로 분리했는지 검토

2. 스키마 변경 시 모든 마이크로서비스의 동시 배포가 필요한 구조인지 확인하고, Header 기반의 유연한 조회 방식 고려

3. 외부 분석 도구(Flink, ML Pipeline)와의 연동 시 Payload의 표준 포맷 준수 여부 확인

4. 기존 레거시 데이터와의 공존을 위해 Payload 내장 방식과 Header 방식의 과도기적 공존 전략 수립

원문 읽기