7.2. 메시지 보존
메시지 보존 정책은 메시지가 Kafka 브로커에 저장되는 기간을 정의합니다. 시간, 파티션 크기 또는 둘 다에 따라 정의할 수 있습니다.
예를 들어 메시지를 유지해야 함을 정의할 수 있습니다.
- 7일 동안
- 페미션에 1GB의 메시지가 있을 때까지 제한에 도달하면 가장 오래된 메시지가 제거됩니다.
- 7일 동안 또는 1GB 제한에 도달할 때까지. 어떤 제한이 먼저 제공되는지 먼저 사용할 수 있습니다.
Kafka 브로커는 메시지를 로그 세그먼트에 저장합니다. 보존 정책 이후의 메시지는 새 로그 세그먼트가 생성될 때만 삭제됩니다. 이전 로그 세그먼트가 구성된 로그 세그먼트 크기를 초과하면 새 로그 세그먼트가 생성됩니다. 또한 사용자는 주기적으로 생성되도록 새 세그먼트를 요청할 수 있습니다.
또한 Kafka 브로커는 압축 정책을 지원합니다.
컴팩트한 정책이 있는 주제의 경우 브로커는 항상 각 키에 대한 마지막 메시지만 유지합니다. 동일한 키가 있는 이전 메시지는 파티션에서 제거됩니다. 압축은 주기적으로 실행되는 작업이므로 동일한 키가 있는 새 메시지가 파티션으로 전송되면 즉시 수행되지 않습니다. 대신 이전 메시지가 제거될 때까지 다소 시간이 걸릴 수 있습니다.
메시지 보존 구성 옵션에 대한 자세한 내용은 7.5절. “주제 구성” 을 참조하십시오.