

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 지정 MSK Express 브로커 구성(읽기/쓰기 액세스)
<a name="msk-configuration-express-read-write"></a>

Amazon MSK의 [업데이트 구성 기능](msk-update-cluster-config.md)을 사용하거나 Apache Kafka의 AlterConfig API를 사용하여 읽기/쓰기 브로커 구성을 업데이트할 수 있습니다. Apache Kafka 브로커 구성은 정적 또는 동적입니다. 정적 구성을 적용하려면 브로커를 다시 시작해야 하지만 동적 구성을 적용하려면 브로커를 다시 시작할 필요가 없습니다. 구성 속성 및 업데이트 모드에 대한 자세한 내용은 [브로커 구성 업데이트](https://kafka.apache.org/documentation/#dynamicbrokerconfigs)를 참조하세요.

**Topics**
+ [MSK Express 브로커의 정적 구성](#msk-configuration-express-static-configuration)
+ [Express 브로커의 동적 구성](#msk-configuration-express-dynamic-configuration)
+ [Express 브로커의 주제 수준 구성](#msk-configuration-express-topic-configuration)

## MSK Express 브로커의 정적 구성
<a name="msk-configuration-express-static-configuration"></a>

Amazon MSK를 사용하여 다음 정적 속성을 설정하는 사용자 지정 MSK 구성을 생성할 수 있습니다. Amazon MSK는 설정하지 않은 다른 모든 속성을 설정하고 관리합니다. MSK 콘솔에서 또는 [구성 명령](msk-configuration-operations-create.md)을 사용하여 정적 구성 파일을 생성하고 업데이트할 수 있습니다.


| 속성 | 설명 | 기본 값 | 
| --- | --- | --- | 
|  allow.everyone.if.no.acl.found  |  이 속성을 false로 설정하려면 먼저 클러스터에 대한 Apache Kafka ACL을 정의해야 합니다. 이 속성을 false로 설정하고 Apache Kafka ACL을 먼저 정의하지 않으면 클러스터에 대한 액세스 권한을 잃게 됩니다. 이 경우 구성을 다시 업데이트하고 이 속성을 true로 설정하여 클러스터에 다시 액세스할 수 있습니다.  |  true  | 
|  auto.create.topics.enable  |  서버에서 주제의 자동 생성을 활성화합니다.  |  false  | 
| compression.type |  주어진 주제에 대한 최종 압축 유형을 지정합니다. 이 구성은 표준 압축 코덱 gzip, snappy, lz4, zstd를 허용합니다. 이 구성은 압축하지 않은 유형과 동일한 `uncompressed`, 생산자가 설정한 원래 압축 코덱을 유지한다는 의미인 `producer`를 허용합니다. | Apache Kafka 기본값 | 
|  connections.max.idle.ms  |  유휴 연결 제한 시간(밀리초). 서버 소켓 프로세서 스레드는 이 속성에 설정한 값보다 더 오래 유휴 상태인 연결을 닫습니다.  |  Apache Kafka 기본값  | 
|  delete.topic.enable  |  주제 삭제 작업을 활성화합니다. 이 설정을 끄면 관리자 도구를 통해 주제를 삭제할 수 없습니다.  |  Apache Kafka 기본값  | 
|  group.initial.rebalance.delay.ms  |   그룹 코디네이터가 첫 번째 재조정을 수행하기 전에 더 많은 데이터 소비자가 새 그룹에 가입할 때까지 기다리는 시간입니다. 지연 시간이 길어지면 재조정 횟수는 줄어들 수 있지만 처리가 시작될 때까지 시간이 늘어납니다.  |  Apache Kafka 기본값  | 
|  group.max.session.timeout.ms  |  등록된 소비자에 대한 최대 세션 제한 시간입니다. 제한 시간이 길어지면 소비자가 하트비트 사이에 메시지를 처리할 수 있는 시간이 더 길어지지만 장애를 감지하는 데 시간이 더 오래 걸립니다.  |  Apache Kafka 기본값  | 
|  leader.imbalance.per.broker.percentage  |  브로커당 허용되는 리더 불균형의 비율입니다. 컨트롤러는 브로커당 이 값을 초과하는 경우 리더 밸런스를 트리거합니다. 이 값은 백분율로 지정됩니다.  |  Apache Kafka 기본값  | 
| log.cleanup.policy | 보존 기간이 지난 세그먼트에 대한 기본 정리 정책입니다. 유효한 정책의 쉼표로 구분된 목록입니다. 유효한 정책은 delete 및 compact입니다. 계층형 스토리지 지원 클러스터를 사용하는 경우 유효한 정책은 delete뿐입니다. | Apache Kafka 기본값 | 
| log.message.timestamp.after.max.ms |  메시지 타임스탬프와 브로커의 타임스탬프 간의 허용 가능한 타임스탬프 차이입니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 크거나 같을 수 있으며, 허용되는 최대 차이는 이 구성에 설정된 값에 따라 결정됩니다. `log.message.timestamp.type=CreateTime`인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. 이 구성은 `log.message.timestamp.type=LogAppendTime`인 경우 무시됩니다.  | 86400000(24\$160\$160\$11000ms, 즉 1일) | 
| log.message.timestamp.before.max.ms |  브로커의 타임스탬프와 메시지 타임스탬프 간의 허용 가능한 타임스탬프 차이입니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 작거나 같을 수 있으며, 허용되는 최대 차이는 이 구성에 설정된 값에 따라 결정됩니다. `log.message.timestamp.type=CreateTime`인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. 이 구성은 `log.message.timestamp.type=LogAppendTime`인 경우 무시됩니다.  | 86400000(24\$160\$160\$11000ms, 즉 1일) | 
| log.message.timestamp.type | 메시지의 타임스탬프가 메시지 생성 시간인지 로그 추가 시간인지 지정합니다. 허용 값은 CreateTime, LogAppendTime입니다. | Apache Kafka 기본값 | 
| log.retention.bytes | 삭제하기 전 로그의 최대 크기입니다. | Apache Kafka 기본값 | 
| log.retention.ms | 로그 파일을 삭제하기 전에 유지할 밀리초 수입니다. | Apache Kafka 기본값 | 
| max.connections.per.ip | 각 IP 주소에서 허용되는 최대 연결 수입니다. max.connections.per.ip.overrides 속성을 사용하여 재정의가 구성된 경우 이 값을 0으로 설정할 수 있습니다. 한도에 도달하면 IP 주소의 새 연결이 삭제됩니다. | Apache Kafka 기본값 | 
|  max.incremental.fetch.session.cache.slots  |  유지되는 최대 증분 가져오기 세션 수입니다.  |  Apache Kafka 기본값  | 
| message.max.bytes |  Kafka가 허용하는 최대 레코드 배치 크기입니다. 이 값을 늘리고 0.10.2보다 오래된 소비자가 있는 경우 이 정도 크기의 레코드 배치를 가져올 수 있도록 소비자의 가져오기 크기도 늘려야 합니다. 최신 메시지 형식 버전은 효율성을 위해 항상 메시지를 배치로 그룹화합니다. 이전 메시지 형식 버전에서는 압축되지 않은 레코드를 배치로 그룹화하지 않으며 이러한 경우 이 제한은 단일 레코드에만 적용됩니다. 이 값은 주제 수준 `max.message.bytes` 구성으로 주제별로 설정할 수 있습니다.  | Apache Kafka 기본값 | 
|  num.partitions  |  주제별 기본 파티션 수입니다.  |  1  | 
|  offsets.retention.minutes  |  소비자 그룹이 모든 소비자를 잃은 후(즉, 비어 있음) 해당 오프셋은 폐기되기 전까지 이 보존 기간 동안 유지됩니다. 독립 실행형 소비자(즉, 수동 할당을 사용하는 소비자)의 경우 오프셋은 마지막 커밋 시간에 이 보존 기간을 더한 후 만료됩니다.  |  Apache Kafka 기본값  | 
|  replica.fetch.max.bytes  |  각 파티션에 대해서 가져오려고 하는 메시지 바이트 수입니다. 이 값은 절대적인 최대값이 아닙니다. 가져오기의 첫 번째 비어 있지 않은 파티션에 있는 첫 번째 레코드 배치가 이 값보다 크면 진행을 보장하기 위해 레코드 배치가 반환됩니다. message.max.bytes(브로커 구성) 또는 max.message.bytes(주제 구성)는 브로커가 허용하는 최대 레코드 배치 크기를 정의합니다.  |  Apache Kafka 기본값  | 
|  replica.selector.class  |  ReplicaSelector를 구현하는 정규화된 클래스 이름입니다. 브로커는 이 값을 사용하여 선호하는 읽기 복제본을 찾습니다. 소비자가 가장 가까운 복제본에서 가져오도록 허용하려면 이 속성을 `org.apache.kafka.common.replica.RackAwareReplicaSelector`로 설정합니다.  |  Apache Kafka 기본값  | 
|  socket.receive.buffer.bytes  |  소켓 서버 소켓의 SO\$1RCVBUF 버퍼입니다. 값이 -1이면 OS 기본값이 사용됩니다.  |  102400  | 
|  socket.request.max.bytes  |  소켓 요청의 최대 바이트 수입니다.  |  104857600  | 
|  socket.send.buffer.bytes  |  소켓 서버 소켓의 SO\$1SNDBUF 버퍼입니다. 값이 -1이면 OS 기본값이 사용됩니다.  |  102400  | 
|  transaction.max.timeout.ms  |  트랜잭션의 최대 제한 시간입니다. 클라이언트가 요청한 트랜잭션 시간이 이 값을 초과하면 브로커는 InitProducerIdRequest에 오류를 반환합니다. 이렇게 하면 클라이언트가 너무 긴 시간 제한을 방지합니다. 이로 인해 트랜잭션에 포함된 항목을 읽는 소비자가 중단될 수 있습니다.  |  Apache Kafka 기본값  | 
|  transactional.id.expiration.ms  |  트랜잭션 코디네이터가 트랜잭션 ID를 만료하기 전에 현재 트랜잭션에 대한 트랜잭션 상태 업데이트를 수신하기 위해 기다리는 시간(밀리초). 이 설정은 지정된 생산자 ID로 마지막으로 쓴 후 이 시간이 경과하면 생산자 ID가 만료되므로 생산자 ID 만료에도 영향을 줍니다. 주제에 대한 보존 설정으로 인해 생산자 ID의 마지막 쓰기가 삭제되면 생산자 ID가 더 빨리 만료될 수 있습니다. 이 속성의 최소값은 1밀리초입니다.  |  Apache Kafka 기본값  | 

## Express 브로커의 동적 구성
<a name="msk-configuration-express-dynamic-configuration"></a>

Apache Kafka AlterConfig API 또는 Kafka-configs.sh 도구를 사용하여 다음 동적 구성을 편집할 수 있습니다. Amazon MSK는 설정하지 않은 다른 모든 속성을 설정하고 관리합니다. 브로커를 다시 시작할 필요가 없는 클러스터 수준 및 브로커 수준 구성 속성을 동적으로 설정할 수 있습니다.


| 속성 | 설명 | 기본값  | 
| --- | --- | --- | 
|  advertised.listeners  |  `listeners` 구성 속성과 다른 경우 클라이언트가 사용할 수 있도록 게시할 리스너입니다. IaaS 환경에서는 브로커가 바인딩되는 인터페이스와 이 값이 달라야 할 수 있습니다. 설정하지 않으면 리스너 값이 사용됩니다. 리스너와 달리 0.0.0.0 메타 주소를 알리는 것은 유효하지 않습니다. 또한 `listeners`와 달리 이 속성에는 중복 포트가 있을 수 있으므로 한 리스너가 다른 리스너의 주소를 알리도록 구성할 수 있습니다. 이는 외부 로드 밸런서가 사용되는 경우에 유용할 수 있습니다. 이 속성은 브로커당 수준에서 설정됩니다.  |  null  | 
|  compression.type  |  주어진 주제에 대한 최종 압축 유형입니다. 이 속성을 표준 압축 코덱(`gzip`, `snappy`, `lz4` 및 `zstd`)으로 설정할 수 있습니다. 추가로 `uncompressed`를 허용합니다. 이 값은 압축을 하지 않은 것과 같습니다. 값을 `producer`로 설정하면 생산자가 설정한 원본 압축 코덱을 유지한다는 의미입니다.  | Apache Kafka 기본값 | 
| log.cleaner.delete.retention.ms | 로그 압축 주제에 대한 삭제 톰스톤 마커를 유지하는 시간입니다. 또한 이 설정은 소비자가 오프셋 0에서 시작하는 경우 최종 단계의 유효한 스냅샷을 얻기 위해 읽기를 완료해야 하는 시간에 대한 경계를 제공합니다. 그렇지 않으면 스캔을 완료하기 전에 삭제 톰스톤이 수집될 수 있습니다. | 86400000(24 \$1 60 \$1 60 \$1 1000ms, 즉 1일), Apache Kafka 기본값 | 
| log.cleaner.min.compaction.lag.ms | 로그에서 메시지가 압축되지 않은 상태로 유지되는 최소 시간입니다. 이 설정은 압축 중인 로그에만 적용됩니다. | 0, Apache Kafka 기본값 | 
| log.cleaner.max.compaction.lag.ms | 메시지가 로그의 압축에 적합하지 않은 상태로 유지되는 최대 시간입니다. 이 설정은 압축 중인 로그에만 적용됩니다. 이 구성은 [7일, Long.Max] 범위로 제한됩니다. | 9223372036854775807, Apache Kafka 기본값 | 
|  log.cleanup.policy  |  보존 기간이 지난 세그먼트에 대한 기본 정리 정책입니다. 유효한 정책의 쉼표로 구분된 목록입니다. 유효한 정책은 `delete` 및 `compact`입니다. 계층형 스토리지 지원 클러스터를 사용하는 경우 유효한 정책은 `delete`뿐입니다.  | Apache Kafka 기본값 | 
|  log.message.timestamp.after.max.ms  |  메시지 타임스탬프와 브로커의 타임스탬프 간의 허용 가능한 타임스탬프 차이입니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 크거나 같을 수 있으며, 허용되는 최대 차이는 이 구성에 설정된 값에 따라 결정됩니다. `log.message.timestamp.type=CreateTime`인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. 이 구성은 `log.message.timestamp.type=LogAppendTime`인 경우 무시됩니다.  | 86400000(24\$160\$160\$11000ms, 즉 1일) | 
|  log.message.timestamp.before.max.ms  |  브로커의 타임스탬프와 메시지 타임스탬프 간의 허용 가능한 타임스탬프 차이입니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 작거나 같을 수 있으며, 허용되는 최대 차이는 이 구성에 설정된 값에 따라 결정됩니다. `log.message.timestamp.type=CreateTime`인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. 이 구성은 `log.message.timestamp.type=LogAppendTime`인 경우 무시됩니다.  | 86400000(24\$160\$160\$11000ms, 즉 1일) | 
|  log.message.timestamp.type  |  메시지의 타임스탬프가 메시지 생성 시간인지 로그 추가 시간인지 지정합니다. 허용 값은 `CreateTime`, `LogAppendTime`입니다.  | Apache Kafka 기본값 | 
|  log.retention.bytes  |  삭제하기 전 로그의 최대 크기입니다.  |  Apache Kafka 기본값  | 
|  log.retention.ms  |  로그 파일을 삭제하기 전에 유지할 밀리초 수입니다.  |  Apache Kafka 기본값  | 
|  max.connection.creation.rate  |  언제든지 브로커에 허용되는 최대 연결 생성 속도입니다.  |  Apache Kafka 기본값  | 
|  max.connections  |  언제든지 브로커에 허용되는 최대 연결 수입니다. 이 제한은 `max.connections.per.ip`를 사용하여 구성된 모든 IP당 제한에 추가로 적용됩니다.  |  Apache Kafka 기본값  | 
|  max.connections.per.ip  |  각 IP 주소에서 허용되는 최대 연결 수입니다. max.connections.per.ip.overrides 속성을 사용하여 구성된 재정의가 있는경우 이 값을 `0`으로 설정할 수 있습니다. 한도에 도달하면 IP 주소의 새 연결이 삭제됩니다.  |  Apache Kafka 기본값  | 
|  max.connections.per.ip.overrides  |  IP 또는 호스트 이름당 쉼표로 구분된 목록은 기본 최대 연결 수로 재정의됩니다. 예시 값은 `hostName:100,127.0.0.1:200`입니다.  | Apache Kafka 기본값 | 
|  message.max.bytes  |  Kafka가 허용하는 최대 레코드 배치 크기입니다. 이 값을 늘리고 0.10.2보다 오래된 소비자가 있는 경우 이 정도 크기의 레코드 배치를 가져올 수 있도록 소비자의 가져오기 크기도 늘려야 합니다. 최신 메시지 형식 버전은 효율성을 위해 항상 메시지를 배치로 그룹화합니다. 이전 메시지 형식 버전에서는 압축되지 않은 레코드를 배치로 그룹화하지 않으며 이러한 경우 이 제한은 단일 레코드에만 적용됩니다. 이 값은 주제 수준 `max.message.bytes` 구성으로 주제별로 설정할 수 있습니다.  | Apache Kafka 기본값 | 
|  producer.id.expiration.ms  |  주제 파티션 리더가 생산자 ID 만료 전에 기다리는 시간(ms)입니다. 생산자 ID는 연결된 트랜잭션이 진행 중인 동안에는 만료되지 않습니다. 주제의 보존 설정으로 인해 생산자 ID의 마지막 쓰기가 삭제되면 생산자 ID가 더 빨리 만료될 수 있습니다. 이 값을 `delivery.timeout.ms`보다 크거나 같게 설정하면 재시도 중 만료를 방지하고 메시지 중복으로부터 보호할 수 있지만 기본값은 대부분의 사용 사례에 적합해야 합니다.  | Apache Kafka 기본값 | 

## Express 브로커의 주제 수준 구성
<a name="msk-configuration-express-topic-configuration"></a>

Apache Kafka 명령을 사용하여 새 주제와 기존 주제에 대한 주제 수준 구성 속성을 설정하거나 수정할 수 있습니다. 주제 수준 구성을 제공할 수 없는 경우 Amazon MSK는 브로커 기본값을 사용합니다. 브로커 수준 구성과 마찬가지로 Amazon MSK는 일부 주제 수준 구성 속성이 변경되지 않도록 보호합니다. 복제 인수 `min.insync.replicas` 및 `unclean.leader.election.enable`을 예로 들 수 있습니다. `3` 이외의 복제 인수 값으로 주제를 생성하려고 시도하는 경우 Amazon MSK는 기본적으로 복제 인수가 `3`인 주제를 생성합니다. 주제 수준 구성 속성과 설정 방법 예제에 대한 자세한 내용은 Apache Kafka 설명서의 [주제 수준 구성](https://kafka.apache.org/documentation/#topicconfigs)을 참조하세요.


| 속성 | 설명 | 
| --- | --- | 
|  cleanup.policy  |  이 구성은 로그 세그먼트에 사용할 보존 정책을 지정합니다. "delete" 정책(기본값)은 보존 기간 또는 크기 제한에 도달하는 경우 이전 세그먼트를 삭제합니다. "compact" 정책은 각 키에 대한 최신 값을 유지하는 로그 압축을 활성화합니다. 쉼표로 구분된 목록에서 두 정책을 모두 지정할 수도 있습니다(예: "delete,compact"). 이 경우 보존 기간 및 크기 구성에 따라 이전 세그먼트는 삭제되고 보존된 세그먼트는 압축됩니다. Express 브로커의 압축은 파티션의 데이터가 256MB에 도달하면 트리거됩니다.  | 
|  compression.type  |  주어진 주제에 대한 최종 압축 유형을 지정합니다. 이 구성은 표준 압축 코덱(`gzip`, `snappy`, `lz4`, `zstd`)을 허용합니다. 또한 압축하지 않은 유형과 동일한 `uncompressed`, 생산자가 설정한 원래 압축 코덱을 유지한다는 의미인 `producer`를 허용합니다.  | 
| delete.retention.ms |  로그 압축 주제에 대한 삭제 톰스톤 마커를 유지하는 시간입니다. 또한 이 설정은 소비자가 오프셋 0에서 시작하는 경우 최종 단계의 유효한 스냅샷을 얻기 위해 읽기를 완료해야 하는 시간에 대한 경계를 제공합니다. 그렇지 않으면 스캔을 완료하기 전에 삭제 톰스톤이 수집될 수 있습니다. 이 설정의 기본값은 86400000(24 \$1 60 \$1 60 \$1 1000ms, 즉 1일), Apache Kafka 기본값입니다.  | 
|  max.message.bytes  |  Kafka에서 허용하는 최대 레코드 배치 크기입니다(압축이 활성화된 경우 압축 후). 이 값이 커지고 `0.10.2`보다 오래된 소비자가 있는 경우, 소비자의 가져오기 크기도 이 크기의 레코드 배치를 가져올 수 있도록 커져야 합니다. 최신 메시지 형식 버전에서 레코드는 효율성을 위해 항상 배치로 그룹화됩니다. 이전 메시지 형식 버전에서는 압축되지 않은 레코드가 배치로 그룹화되지 않으며, 이 경우 이 제한은 단일 레코드에만 적용됩니다. 이 값은 주제 수준 `max.message.bytes config`를 통해 주제별로 설정할 수 있습니다.  | 
|  message.timestamp.after.max.ms  |  이 구성은 메시지 타임스탬프와 브로커의 타임스탬프 간에 허용되는 타임스탬프 차이를 설정합니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 크거나 같을 수 있으며, 허용되는 최대 차이는 이 구성에 설정된 값에 따라 결정됩니다. `message.timestamp.type=CreateTime`인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. 이 구성은 `message.timestamp.type=LogAppendTime`인 경우 무시됩니다.  | 
|  message.timestamp.before.max.ms  |  이 구성은 브로커의 타임스탬프와 메시지 타임스탬프 간의 허용 가능한 타임스탬프 차이를 설정합니다. 메시지 타임스탬프는 브로커의 타임스탬프보다 작거나 같을 수 있으며, 허용되는 최대 차이는 이 구성에 설정된 값에 따라 결정됩니다. `message.timestamp.type=CreateTime`인 경우 타임스탬프의 차이가 이 지정된 임계값을 초과하면 메시지가 거부됩니다. 이 구성은 `message.timestamp.type=LogAppendTime`인 경우 무시됩니다.  | 
|  message.timestamp.type  |  메시지의 타임스탬프가 메시지 생성 시간인지 아니면 로그 추가 시간인지 정의합니다. 값은 `CreateTime` 또는 `LogAppendTime`이어야 합니다.  | 
| min.compaction.lag.ms |  로그에서 메시지가 압축되지 않은 상태로 유지되는 최소 시간입니다. 이 설정은 압축 중인 로그에만 적용됩니다. 이 설정의 기본값은 0, Apache Kafka 기본값입니다.  | 
| max.compaction.lag.ms |  메시지가 로그의 압축에 적합하지 않은 상태로 유지되는 최대 시간입니다. 이 설정은 압축 중인 로그에만 적용됩니다. 이 구성은 [7일, Long.Max] 범위로 제한됩니다. 이 설정의 기본값은 9223372036854775807, Apache Kafka 기본값입니다.  | 
|  retention.bytes  |  이 구성은 "delete" 보존 정책을 사용하는 경우 공간을 확보하기 위해 이전 로그 세그먼트를 폐기하기 전에 파티션(로그 세그먼트로 구성)이 증가할 수 있는 최대 크기를 제어합니다. 기본적으로 크기 제한은 없고 시간 제한만 있습니다. 이 제한은 파티션 수준에서 적용되므로 파티션 수에 곱하여 주제 보존을 바이트 단위로 계산합니다. 또한 `retention.bytes configuration`은 `segment.ms` 및 `segment.bytes` 구성과 독립적으로 작동합니다. `retention.bytes`가 0으로 구성된 경우에는 새 세그먼트의 롤링을 트리거합니다.  | 
|  retention.ms  |  이 구성은 "delete" 보존 정책을 사용하는 경우 공간을 확보하기 위해 이전 로그 세그먼트를 폐기하기 전에 로그를 보존할 최대 시간을 제어합니다. 이는 소비자가 데이터를 얼마나 빨리 읽어야 하는지에 대한 SLA를 나타냅니다. `-1`로 설정하면 시간 제한이 적용되지 않습니다. 또한 `retention.ms` 구성은 `segment.ms` 및 `segment.bytes` 구성과 독립적으로 작동합니다. `retention.ms` 조건이 충족되면 새 세그먼트의 롤링을 트리거합니다.  | 