9장. 이벤트 계약은 과거 소비자를 포함한다
이벤트에는 이름, 의미, producer, partition key, 순서 보장 범위, schema version, 개인정보 등급, 보관, 재처리 규칙을 둔다. 내부 테이블 행을 그대로 payload로 보내면 스키마와 데이터 소유권이 유출된다.
필드를 추가할 때 소비자가 모르는 필드를 무시할 수 있는지, 삭제·의미 변경 시 새 버전이 필요한지 contract test로 확인한다. 재생은 운영 명령이므로 대상 범위, dry-run, 승인, 속도 제한, 중복 방어, 중단 기준을 갖춘다. 오래된 이벤트가 현재 정책을 다시 실행하게 하지 말고 당시 사실과 현재 명령을 구분한다.