본문으로 건너뛰기

토픽 설정

현재 토픽의 설정을 확인하고 수정할 수 있어요. 각 토픽 설정들은 기본적으로 기본값을 가지고 있으며 토픽 별로 재정의 할 수 있어요.

topic_details_settings

토픽 설정 하기 어려우신가요?

토글을 활성화하면 각 토픽 설정 별로 자세한 설명을 볼 수 있어요. 해당 설명을 참고하여 토픽 설정을 수정해보세요.

topic_settings_toggle

기본 설정

토픽을 구성하는 기본적인 설정값이에요. 토픽 이름 을 변경하려면 토픽 삭제 후 재생성해야 해요.

topic_settings_basic_settings

자주 쓰는 설정

일반적으로 토픽을 생성할 때 사용하는 설정들만 모았어요.

topic_settings_frequently_settings

섹션설정 이름설정값기본값
복제insync 할 최소 복제본 개수min.insync.replicas1
디스크디스크 정리 정책cleanup.policy'delete', 'compact', 'delete,compact(복합 정책)'
디스크최대 데이터 보관 시간retention.ms604800000 ms (7일)
메시지최대 메시지 크기 (바이트)max.message.bytes1048588 bytes (1MB)
세그먼트세그먼트 시간segment.ms604800000 ms (1주)
예상 토픽 크기 계산하기

토픽 설정을 변경하였을 때 토픽의 크기가 어떻게 변할지 쉽게 파악할 수 있도록 예상되는 토픽 크기 계산 도구를 제공해드려요. 이를 통해 토픽 설정을 변경하였을 때 어떤 영향을 미칠지 미리 확인할 수 있어요.

고급 설정

복제

복제 섹션 에서는 토픽의 복제 관련 설정을 확인하고 수정할 수 있어요. 복제 설정은 데이터 손실을 방지하고 데이터의 안정성을 보장하는 데 중요한 역할을 해요.

설정 이름설정값기본값
insync 할 최소 복제본 개수min.insync.replicas1
복제 쓰로틀링 (리더 측)leader.replication.throttled.replicas"" ([partitionId]:[brokerId],...)
복제 쓰로틀링 (팔로워 측)follower.replication.throttled.replicas"" ([partitionId]:[brokerId],...)

디스크

디스크 섹션 은 카프카에서 로그 데이터의 보존 및 삭제 방법을 관리하는 설정들을 포함하고 있어요. 이 섹션의 설정은 카프카의 스토리지 사용을 최적화하고, 오래된 데이터를 효율적으로 처리하는 데 중요해요.

설정 이름설정값기본값 (옵션 및 단위)
디스크 정리 정책cleanup.policy'delete', 'compact', 'delete,compact(복합 정책)'
최대 데이터 보관 (바이트)retention.bytes-1 (제한없음)
최대 데이터 보관 시간retention.ms604800000 ms (7일)

디스크 정리 정책: compact 옵션

디스크 섹션 > 디스크 정리 정책 설정에서 'compact(압축)' 옵션을 선택했을 때 적용되는 추가 설정들은 로그 세그먼트의 압축 작업과 관련된 세부 행동을 제어해요. 메시지 압축 이란 키-값 쌍의 데이터를 가진 메시지에서 중복된 키의 메시지들을 제거하고, 각 키의 최신 메시지만을 유지하는 방식으로 디스크 공간을 효율적으로 사용하도록 해요. 이는 특히 상태 정보를 저장하는 애플리케이션 (사용자 세션, 이벤트 작업 진행 상태 등) 에서 유용하며, 데이터의 효율적인 보관과 조회 성능 향상에 기여하게 돼요.

설정 이름설정값기본값
삭제 표시기 마커를 유지하는 시간delete.retention.ms86400000 ms (24시간)
압축 전, 부적합한 메시지 보관 최대 시간max.compaction.lag.ms9223372036854775807 ms (약 292년)
압축 전, 부적합한 메시지 보관 최소 시간min.compaction.lag.ms0 ms
클리닝 주기min.cleanable.dirty.ratio0.5 (50%)

메시지

메시지 섹션 은 메시지의 처리와 관련된 세부 설정을 포함하고 있어요.

설정 이름설정값기본값
최대 메시지 크기 (바이트)max.message.bytes1048588 bytes (1MB)
메시지 형식 버전message.format.version카프카 클러스터 버전과 동일
메시지 타임 스탬프 유형message.timestamp.type'CreateTime', 'LogAppendTime'
타임 스탬프 최대 시간 간격message.timestamp.difference.max.ms9223372036854775807 ms (약 292년)
메시지의 하향 변환 활성화 여부message.downconversion.enabletrue, false
압축 형태compression.type'uncompressed', 'zstd', 'lz4', 'snappy', 'gzip', 'producer'

플러쉬

플러쉬 설정 은 메시지가 디스크에 얼마나 자주 쓰여질지를 결정하는 설정이에요.

설정 이름설정값기본값
플러쉬 메시지 간격flush.messages9223372036854775807 ms (약 292년)
메시지 플러쉬 시간 간격flush.ms9223372036854775807 ms (약 292년)
플러쉬 란?

플러쉬는 메시지가 디스크에 쓰여지는 것을 의미해요. 카프카는 메시지를 메모리에 먼저 쓰고, 일정 시간이나 메시지의 개수가 쌓이면 디스크에 메시지를 써요.

세그먼트

세그먼트 섹션 은 카프카의 데이터 저장 방식과 밀접하게 관련된 설정들을 다뤄요. 카프카는 데이터를 로그 세그먼트라는 파일 단위로 저장하며, 이 세그먼트들은 토픽의 파티션을 구성해요. 세그먼트 설정을 통해 카프카의 저장 효율성, 데이터 접근 속도, 그리고 시스템의 전반적인 성능을 조정할 수 있어요. 이 섹션에서는 세그먼트의 생성, 롤링, 삭제, 인덱싱과 같은 중요한 설정들을 포함해요.

설정 이름설정값기본값
최대 랜덤 지터segment.jitter.ms0 ms
세그먼트 파일 크기segment.bytes1073741824 bytes (1.07GB)
세그먼트 시간segment.ms604800000 ms (1주)
세그먼트 인덱스segment.index.bytes10485760 bytes (10.49MB)
파일 삭제 시간file.delete.delay.ms60000 ms (1분)
새 세그먼트 사전 할당preallocatetrue, false

나머지

설정 이름설정값기본값
리더 선택 방식unclean.leader.election.enabletrue, false
오프셋 간격index.interval.bytes4096 bytes (4KB)