부록 D. 생산자 구성 매개변수


key.serializer

유형: class
Importance: high

org.apache.kafka.common.serialization.Serializer 인터페이스를 구현하는 키에 대한 serializer 클래스입니다.

value.serializer

유형: class
Importance: high

org.apache.kafka.common.serialization.Serializer 인터페이스를 구현하는 값에 대한 serializer 클래스입니다.

bootstrap.servers

type: list
default: ""
유효한 값: non-null string
Importance: high

Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 클라이언트는 부트스트랩을 위해 여기에 지정된 서버를 여기에 관계없이 모든 서버를 사용합니다. 이 목록은 전체 서버 세트를 검색하는 데 사용되는 초기 호스트에만 영향을 미칩니다. 이 목록은 host1:port1,host2:port2,…​ 이어야 합니다. 이러한 서버는 초기 연결에서 전체 클러스터 멤버십을 검색하는 데만 사용되므로(동적으로 변경될 수 있음) 이 목록에는 전체 서버 세트가 포함되지 않아도 됩니다(서버가 다운된 경우 하나 이상 필요).

buffer.memory

유형: long
기본값: 33554432
유효한 값: [0,…​]
중요: high

생산자가 서버로 전송되는 대기 중인 레코드를 버퍼링하는 데 사용할 수 있는 총 메모리 바이트입니다. 레코드를 서버에 전달할 수 있는 속도보다 빠르게 전송되는 경우 생산자는 max.block.ms 를 차단한 후 예외가 발생합니다.

이 설정은 생산자가 사용할 총 메모리에 해당해야 하지만 생산자가 사용하는 모든 메모리가 버퍼링에 사용되는 것은 아니므로 하드 바운드가 아닙니다. 일부 추가 메모리는 압축(압축이 활성화된 경우) 및 진행 중인 요청을 유지 관리하는 데 사용됩니다.

compression.type

유형: 문자열
기본값: none
Importance: high

생산자가 생성한 모든 데이터의 압축 유형입니다. 기본값은 none입니다(즉, 압축이 없음). 유효한 값은 none,gzip,snappy,lz4 또는 zstd 입니다. 압축은 데이터의 전체 배치이므로 일괄 처리의 효율성도 압축 비율에 영향을 미칩니다(추가로 압축하면 압축 속도가 향상됨).

재시도

유형: int
기본값: 2147483647
유효한 값: [0,…​,2147483647]
Importance: high

값이 0보다 크면 클라이언트가 일시적인 오류와 함께 전송에 실패하는 모든 레코드를 다시 보냅니다. 이 재시도는 클라이언트가 오류를 수신할 때 레코드를 다시 요청하는 경우와 다릅니다. max.in.flight.requests.per.connection 을 1로 설정하지 않고 재시도하면 두 개의 배치가 단일 파티션으로 전송되고 첫 번째 일괄 처리가 실패하며 두 번째 배치의 레코드가 먼저 표시될 수 있으므로 레코드 순서가 변경될 수 있습니다. 또한, 성공적으로 승인하기 전에 delivery.timeout.ms 로 구성된 타임아웃이 먼저 만료되면 재시도 횟수가 소진되기 전에 요청 생성이 실패합니다. 사용자는 일반적으로 이 구성을 설정되지 않은 상태로 두는 것을 선호하고 대신 delivery.timeout.ms 를 사용하여 재시도 동작을 제어해야 합니다.

ssl.key.password

유형: password
기본값: null
Importance: high

키 저장소 파일에 있는 개인 키의 암호 또는 'ssl.keystore.key'에 지정된 PEM 키입니다. 이는 양방향 인증이 구성된 경우에만 클라이언트에 필요합니다.

ssl.keystore.certificate.chain

유형: password
기본값: null
Importance: high

'ssl.keystore.type'에 지정된 형식의 인증서 체인입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서 목록이 있는 PEM 형식만 지원합니다.

ssl.keystore.key

유형: password
기본값: null
Importance: high

'ssl.keystore.type'에 지정된 형식의 개인 키입니다. 기본 SSL 엔진 팩토리에서는 PKCS#8 키가 있는 PEM 형식만 지원합니다. 키가 암호화된 경우 'ssl.key.password'를 사용하여 키 암호를 지정해야 합니다.

ssl.keystore.location

유형: 문자열
기본값: null
Importance: high

키 저장소 파일의 위치입니다. 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다.

ssl.keystore.password

유형: password
기본값: null
Importance: high

키 저장소 파일의 저장소 암호입니다. 이는 클라이언트에 선택 사항이며 'ssl.keystore.location'이 구성된 경우에만 필요합니다. PEM 형식에는 키 저장소 암호가 지원되지 않습니다.

ssl.truststore.certificates

유형: password
기본값: null
Importance: high

'ssl.truststore.type'에서 지정한 형식의 신뢰할 수 있는 인증서입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서가 있는 PEM 형식만 지원합니다.

ssl.truststore.location

유형: 문자열
기본값: null
Importance: high

신뢰 저장소 파일의 위치입니다.

ssl.truststore.password

유형: password
기본값: null
Importance: high

신뢰 저장소 파일의 암호입니다. 암호를 설정하지 않으면 구성된 신뢰 저장소 파일이 계속 사용되지만 무결성 검사가 비활성화됩니다. PEM 형식에 대해 신뢰 저장소 암호가 지원되지 않습니다.

batch.size

유형: int
기본값: 16384
유효한 값: [0,…​]
중요도: 중간

생산자는 여러 레코드가 동일한 파티션으로 전송될 때마다 더 적은 수의 요청에 함께 레코드를 배치하려고 합니다. 이렇게 하면 클라이언트와 서버 모두에서 성능이 향상됩니다. 이 구성은 기본 배치 크기를 바이트 단위로 제어합니다.

이 크기보다 큰 레코드를 배치하려고 시도하지 않습니다.

브로커로 전송된 요청에는 전송할 수 있는 데이터가 있는 각 파티션에 대해 여러 배치가 포함됩니다.

배치 크기가 작으면 일괄 처리가 덜 일반화되고 처리량을 줄일 수 있습니다(배치 크기가 0이면 일괄 처리가 완전히 비활성화됩니다). 매우 큰 배치 크기는 추가 레코드의 예상에 지정된 배치 크기의 버퍼를 항상 할당하므로 메모리를 조금 더 무례하게 사용할 수 있습니다.

client.dns.lookup

type : string
default: use_all_dns_ips
유효한 값: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium

클라이언트에서 DNS 조회를 사용하는 방법을 제어합니다. use_all_dns_ips 로 설정된 경우 성공적인 연결이 설정될 때까지 반환된 각 IP 주소에 순서대로 연결합니다. 연결 해제 후 다음 IP가 사용됩니다. 모든 IP가 한 번 사용되면 클라이언트는 호스트 이름에서 IP를 다시 확인합니다(JVM 및 OS 캐시 DNS 이름 조회 모두). resolve_canonical_bootstrap_servers_only 로 설정된 경우 각 부트스트랩 주소를 정식 이름 목록으로 확인합니다. 부트스트랩 단계 후 use_all_dns_ips 와 동일하게 작동합니다.

client.id

type: string
Default: ""
Importance: medium

요청을 수행할 때 서버에 전달할 id 문자열입니다. 이를 위해 논리적 애플리케이션 이름을 서버 측 요청 로깅에 포함하도록 허용하여 ip/port 이외의 요청 소스를 추적할 수 있습니다.

connections.max.idle.ms

유형: long
기본값: 540000 (9 분)
중요도: 중간

이 구성에서 지정한 시간(밀리초) 후에 유휴 연결을 종료합니다.

delivery.timeout.ms

유형: int
기본값: 120000 (2 분)
유효한 값: [0,…​]
중요도: 중간

send() 반환 호출 후 성공 또는 실패를 보고하는 상한입니다. 이렇게 하면 레코드가 전송 전에 지연되는 총 시간, 브로커의 승인을 기다리는 시간(예: 예상한 경우) 및 재시도할 수 있는 전송에 허용되는 시간이 제한됩니다. 생산자는 복구할 수 없는 오류가 발생하거나 재시도가 소진된 경우 이 구성보다 일찍 레코드를 전송하지 못하거나, 이전 전달 만료 기한에 도달한 배치에 레코드가 추가됩니다. 이 구성의 값은 request.timeout.mslinger.ms 의 합계보다 크거나 같아야 합니다.

linger.ms

유형: long
기본값: 0
유효한 값: [0,…​]
중요도: 중간

생산자는 단일 일괄 처리 요청으로 요청 전송 사이에 도달하는 모든 레코드를 그룹화합니다. 일반적으로 이 작업은 레코드가 전송될 수 있는 것보다 더 빨리 도달하는 경우에만 발생합니다. 그러나 경우에 따라 클라이언트는 중간 로드 상태에서도 요청 수를 줄여야 할 수 있습니다. 이 설정은 적은 양의 인위적인 지연을 추가하여 이를 수행합니다. 즉, 작성자가 전송이 함께 배치될 수 있도록 다른 레코드가 전송될 수 있도록 지정된 지연을 즉시 전송하는 대신 지정된 지연까지 대기합니다. 이는 TCP에서 나글 알고리즘과 유사한 것으로 간주될 수 있습니다. 이 설정은 일괄 처리 지연에 대한 상한을 부여합니다. 파티션에 대한 batch.size 의 가치가 있는 레코드가 즉시 전송되지만, 이 파티션에 대해 누적된 이 많은 바이트보다 적은 경우 이 파티션에 대해 누적된 바이트보다 적으면 지정된 시간이 더 많은 레코드가 표시될 때까지 'linger'합니다. 이 설정의 기본값은 0입니다(예: 지연 없음). 예를 들어 linger.ms=5 를 설정하면 전송된 요청 수를 줄이는 효과가 있지만 로드가 없는 상태에서 전송된 레코드에 최대 5ms의 대기 시간이 추가됩니다.

max.block.ms

유형: long
기본값: 60000(1분)
유효한 값: [0,…​]
중요: 중간

이 설정은 KafkaProducer의 'send() , partitionsFor() , initTransactions(), sendOffsetsToTransaction(), commitTransaction()abortTransaction() 메서드가 차단하는 시간을 제어합니다. send() 의 경우 이 시간 초과는 메타데이터 가져오기 및 버퍼 할당(사용자 제공 직렬화 또는 파티션의 차단은 이 시간 초과에 대해 계산되지 않음) 둘 다 대기하는 총 시간을 바인딩합니다. partitionsFor() 의 경우 이 시간 초과는 사용할 수 없는 경우 메타데이터를 기다리는 데 걸리는 시간을 바인딩합니다. 트랜잭션 관련 메서드는 항상 차단되지만 트랜잭션 코디네이터를 검색할 수 없거나 시간 초과 내에 응답하지 않으면 시간 초과가 시간 초과될 수 있습니다.

max.request.size

유형: int
기본값: 1048576
유효한 값: [0,…​]
중요도: 중간

요청의 최대 크기(바이트)입니다. 이 설정은 대규모 요청을 보내지 않도록 생산자가 단일 요청으로 보낼 레코드 배치 수를 제한합니다. 이는 효과적으로 압축되지 않은 최대 레코드 배치 크기에 대한 제한이기도 합니다. 서버에는 레코드 배치 크기에 대한 자체 제한(압축이 활성화된 경우 압축 후)이 있습니다.

partitioner.class

유형: class
Default: org.apache.kafka.clients.producer.internals.Default Cryostater
Importance: medium

org.apache.kafka.clients.producer. Cryostater 인터페이스를 구현하는 partitioner 클래스입니다.

receive.buffer.bytes

유형: int
기본값: 32768(32 키비바이트)
유효한 값: [-1,…​]
Importance: medium

데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.

request.timeout.ms

유형: int
기본값: 30000(30초)
유효한 값: [0,…​]
Importance: medium

구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다. 불필요한 생산자 재시도로 인해 메시지 중복 가능성을 줄이기 위해 replica.lag.time.max.ms (중간 구성)보다 커야 합니다.

sasl.client.callback.handler.class

유형: class
Default: null
Importance: medium

AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 클라이언트 콜백 처리기 클래스의 정규화된 이름입니다.

sasl.jaas.config

유형: password
기본값: null
Importance: medium

JAAS 구성 파일에서 사용하는 형식의 SASL 연결에 대한 JAAS 로그인 컨텍스트 매개변수입니다. JAAS 구성 파일 형식은 여기에 설명되어 있습니다. 값 형식은 loginModuleClass controlFlag (optionName=optionValue)*; 입니다. 브로커의 경우 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule이 필요합니다.

sasl.kerberos.service.name

유형: 문자열
기본값: null
Importance: medium

Kafka가 실행되는 Kerberos 주체 이름입니다. Kafka의 JAAS config 또는 Kafka의 config에서 정의할 수 있습니다.

sasl.login.callback.handler.class

유형: class
Default: null
Importance: medium

AuthenticateCallbackHandler 인터페이스를 구현하는 SASL 로그인 콜백 처리기 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 콜백 처리기 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler입니다.

sasl.login.class

유형: class
Default: null
Importance: medium

로그인 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 구성 앞에는 리스너 접두사와 SASL 메커니즘 이름 앞에 소문자를 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin입니다.

sasl.mechanism

유형: 문자열
기본값: GSSAPI
Importance: medium

클라이언트 연결에 사용되는 SASL 메커니즘입니다. 이는 보안 공급자를 사용할 수 있는 메커니즘일 수 있습니다. GSSAPI는 기본 메커니즘입니다.

security.protocol

유형: 문자열
기본값: PLAINTEXT
Importance: medium

브로커와 통신하는 데 사용되는 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다.

send.buffer.bytes

유형: int
기본값: 131072(128 kibibytes)
유효한 값: [-1,…​]
Importance: medium

데이터를 전송할 때 사용할 TCP 전송 버퍼(SO_SNDBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.

socket.connection.setup.timeout.max.ms

유형: long
기본값: 30000 (30 초)
중요도: 중간

클라이언트가 소켓 연결이 설정될 때까지 대기하는 최대 시간입니다. 연결 설정 시간 초과는 연속 연결 오류마다 이 최대값까지 기하급수적으로 증가합니다. 연결 불란을 방지하기 위해 0.2의 무작위화 요소가 시간 초과에 적용되어 계산된 값보다 20% 이하에서 20% 사이의 임의 범위가 됩니다.

socket.connection.setup.timeout.ms

유형: long
기본값: 10000(10초)
중요도: 중간

클라이언트가 소켓 연결이 설정될 때까지 대기하는 시간입니다. 시간 초과가 경과하기 전에 연결이 빌드되지 않으면 클라이언트가 소켓 채널을 종료합니다.

ssl.enabled.protocols

type: list: list
default:
TLSv1.2,TLSv1.3
Importance: medium

SSL 연결에 활성화된 프로토콜 목록입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.2,TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. Java 11의 기본값을 사용하면 클라이언트와 서버는 TLSv1.2를 지원하고 그 대신 TLSv1.2를 모두 지원하는 경우 TLSv1.3을 선호합니다(적어도 TLSv1.2 이상 지원). 대부분의 경우 이 기본값은 정상이어야 합니다. ssl.protocol 의 구성 문서를 참조하십시오.

ssl.keystore.type

유형: 문자열
기본값: JKS
중요도: 중간

키 저장소 파일의 파일 형식입니다. 클라이언트에는 선택 사항입니다.

ssl.protocol

유형: 문자열
기본값: TLSv1.3
중요도: 중간

SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. Java 11 이상에서 실행하는 경우 기본값은 'TLSv1.3'이며, 그렇지 않으면 'TLSv1.2'입니다. 이 값은 대부분의 사용 사례에 적합해야 합니다. 최근 JVM에서 허용되는 값은 'TLSv1.2' 및 'TLSv1.3'입니다. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' 및 'SSLv3'은 이전 JVM에서 지원되지 않을 수 있지만 알려진 보안 취약점으로 인해 사용이 권장되지 않습니다. 이 구성 및 'ssl.enabled.protocols'의 기본값을 사용하면 서버가 'TLSv1.3'을 지원하지 않는 경우 클라이언트가 'TLSv1.2'로 다운그레이드됩니다. 이 구성이 'TLSv1.2'로 설정된 경우 클라이언트는 ssl.enabled.protocols의 값 중 하나이고 서버가 'TLSv1.3'만 지원하는 경우에도 'TLSv1.3'을 사용하지 않습니다.

ssl.provider

유형: 문자열
기본값: null
Importance: medium

SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다.

ssl.truststore.type

유형: 문자열
기본값: JKS
중요도: 중간

신뢰 저장소 파일의 파일 형식입니다.

ACKS

유형: 문자열
기본값: all
유효한 값: [all, -1, 0, 1]
중요: 낮음

생산자가 요청 완료를 검토하기 전에 리더에게 받아야 한다는 확인의 수입니다. 이는 전송되는 레코드의 지속성을 제어합니다. 다음 설정이 허용됩니다.

  • ACKS=0 0으로 설정하면 생산자가 서버의 승인을 전혀 기다리지 않습니다. 레코드는 소켓 버퍼에 즉시 추가되고 전송된 것으로 간주됩니다. 이 경우 서버가 레코드를 수신했음을 보장할 수 없으며 재시도 구성이 적용되지 않습니다(클라이언트는 일반적으로 오류를 알 수 없음). 각 레코드에 대해 다시 주어진 오프셋은 항상 -1 로 설정됩니다.
  • ACKS=1 이것은 리더가 로컬 로그에 기록을 작성하지만 모든 뮤지터의 완전한 승인을 기다리지 않고 응답한다는 것을 의미합니다. 이 경우 기록을 승인한 직후 리더는 실패해야 하지만, 팔로워가 복제되기 전에 기록이 손실됩니다.
  • ACKS=all: 이는 리더가 in-sync 복제본의 전체 세트가 레코드를 승인할 때까지 대기한다는 것을 의미합니다. 이렇게 하면 하나 이상의 in-sync 복제본이 활성 상태로 유지되는 한 레코드가 손실되지 않습니다. 이는 가능한 가장 강력한 보증입니다. 이는 acks=-1 설정과 동일합니다.
enable.idempotence

유형: 부울
기본값: true
Importance: low

'true'로 설정하면 생산자가 각 메시지의 복사본이 스트림에 기록되도록 합니다. 'false'인 경우 브로커 실패 등으로 인한 생산자 재시도는 스트림에서 재시도한 메시지의 중복을 작성할 수 있습니다. idempotence를 활성화하려면 max.in.flight.requests.per.connection 이 5보다 작거나 같아야 합니다(허용 가능한 값에 대해 메시지 순서가 유지됨), 재시도 횟수 는 0보다 크고 acks 는 'all'이어야 합니다. 사용자가 이러한 값을 명시적으로 설정하지 않으면 적절한 값이 선택됩니다. 호환되지 않는 값이 설정되면 ConfigException 이 발생합니다.

interceptor.classes

type: list
default: ""
유효한 값: non-null string
Importance: low

인터셉터로 사용할 클래스 목록입니다. org.apache.kafka.clients.producer.ProducerInterceptor 인터페이스를 구현하면 Kafka 클러스터에 게시되기 전에 생산자가 수신한 레코드를 인터셉트(및 변경 가능)할 수 있습니다. 기본적으로 인터셉터가 없습니다.

max.in.flight.requests.per.connection

유형: int
기본값: 5
유효한 값: [1,…​]
Importance: low

클라이언트가 차단하기 전에 단일 연결로 전송할 수 없는 최대 요청 수입니다. 이 구성이 1보다 크고 enable.idempotence 가 false로 설정된 경우 재시도로 인해 전송 실패 후 메시지 순서를 다시 정렬할 위험이 있습니다(예: 재시도가 활성화된 경우).

metadata.max.age.ms

유형: long
기본값: 300000 (5분)
유효한 값: [0,…​]
중요: 낮음

파티션 리더십 변경 사항을 보지 못하더라도 새 브로커 또는 파티션을 사전에 검색하지 못한 경우에도 메타데이터를 강제로 새로 고침한 후 밀리초 단위입니다.

metadata.max.idle.ms

유형: long
기본값: 300000 (5 분)
유효한 값: [5000,…​]
중요도: 낮음

생산자가 유휴 상태인 항목의 메타데이터를 캐시하는 기간을 제어합니다. 메타데이터 유휴 기간을 초과하기 위해 주제를 마지막으로 생성한 후 경과된 시간이 지나면 주제의 메타데이터가 손상되고 이에 대한 다음 액세스는 메타데이터 가져오기 요청을 강제 적용합니다.

metric.reporters

type: list
default: ""
유효한 값: non-null string
Importance: low

메트릭 보고자로 사용할 클래스 목록입니다. org.apache.kafka.common.metrics.MetricsReporter 인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다.

metrics.num.samples

유형: int
기본값: 2
유효한 값: [1,…​]
중요도: 낮음

컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다.

metrics.recording.level

유형: 문자열
기본값: INFO
유효한 값: [INFO, DEBUG, TRACE]
Importance: low

메트릭의 가장 높은 레코딩 수준입니다.

metrics.sample.window.ms

유형: long
기본값: 30000(30초)
유효한 값: [0,…​]
중요도: 낮음

메트릭 샘플이 계산되는 시간입니다.

reconnect.backoff.max.ms

유형: long
기본값: 1000 (1 second)
유효한 값: [0,…​]
중요도: 낮음

반복적으로 연결하지 못한 브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 호스트당 백오프는 연속되는 각 연결 오류에 대해 이 최대값까지 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 측정을 방지하기 위해 20%의 임의 지터가 추가됩니다.

reconnect.backoff.ms

유형: long
기본값: 50
유효한 값: [0,…​]
중요도: 낮음

지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다.

retry.backoff.ms

유형: long
기본값: 100
유효한 값: [0,…​]
중요도: 낮음

지정된 주제 파티션에 대한 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프로 요청을 반복적으로 보내는 것을 방지할 수 있습니다.

sasl.kerberos.kinit.cmd

유형: 문자열
기본값: /usr/bin/kinit
Importance: low

Kerberos kinit 명령 경로입니다.

sasl.kerberos.min.time.before.relogin

유형: long
기본값: 60000
중요도: 낮음

새로 고침 시도 사이의 로그인 스레드 수면 시간입니다.

sasl.kerberos.ticket.renew.jitter

유형: 두 번
기본값: 0.05
중요도: 낮음

갱신 시간에 임의 지터의 백분율이 추가되었습니다.

sasl.kerberos.ticket.renew.window.factor

유형: double
기본값: 0.8
중요도: 낮음

로그인 스레드는 지정된 시간 요소가 마지막으로 새로 고침에서 티켓 만료로 도달할 때까지 유휴 상태가 되고 이 기간 동안 티켓을 갱신하려고 합니다.

sasl.login.refresh.buffer.seconds

유형: short
기본값: 300
유효한 값: [0,…​,3600]
중요도: 낮음

인증 정보를 새로 고칠 때 유지 관리하는 인증 정보 만료 전의 버퍼 시간(초)입니다. 새로 고침이 버퍼 초 수보다 만료되는 경우 새로 고침은 가능한 한 많은 버퍼 시간을 유지하기 위해 이동합니다. 법적 값은 0에서 3600(1시간) 사이입니다. 값이 지정되지 않은 경우 기본값 300(5분)이 사용됩니다. 이 값과 sasl.login.refresh.min.period.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.

sasl.login.refresh.min.period.seconds

유형: short
기본값: 60
유효한 값: [0,…​,900]
중요도: 낮음

로그인 새로 고침 스레드가 인증 정보를 새로 고치기 전에 대기하는 최소 시간(초)입니다. 법적 값은 0에서 900 (15 분) 사이입니다. 값이 지정되지 않은 경우 기본값 60 (1 분)이 사용됩니다. 이 값과 sasl.login.refresh.buffer.seconds 값은 합계가 인증 정보의 나머지 수명을 초과하면 둘 다 무시됩니다. 현재 OAUTHBEARER에만 적용됩니다.

sasl.login.refresh.window.factor

유형: double
기본값: 0.8
유효한 값: [0.5,…​,1.0]
중요: 낮음

로그인 새로 고침 스레드는 인증 정보의 수명을 기준으로 지정된 창 요인에 도달할 때까지 유휴 상태가 되어 인증 정보를 새로 고치려고 합니다. 법적 값은 0.5(50%)와 1.0(100%)을 포함합니다. 값이 지정되지 않은 경우 기본값 0.8(80%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.

sasl.login.refresh.window.jitter

유형: double
기본값: 0.05
유효한 값: [0.0,…​,0.25]
중요도: 낮음

로그인 새로 고침 스레드의 수면 시간에 추가되는 인증 정보의 수명을 기준으로 임의 지터의 최대 양입니다. 법적 값은 0에서 0.25 (25 %) 사이이며, 값이 지정되지 않은 경우 기본값 0.05 (5%)가 사용됩니다. 현재 OAUTHBEARER에만 적용됩니다.

security.providers

유형: 문자열
기본값: null
Importance: low

구성 가능한 작성자 클래스 목록은 각각 보안 알고리즘을 구현하는 공급자를 반환합니다. 이러한 클래스는 org.apache.kafka.common.security.auth.SecurityProviderCreator 인터페이스를 구현해야 합니다.

ssl.cipher.suites

type: list
default: null
Importance: low

암호화 제품군 목록입니다. 이는 TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결에 대한 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름이 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다.

ssl.endpoint.identification.algorithm

유형: 문자열
기본값: https
Importance: low

서버 인증서를 사용하여 서버 호스트 이름을 확인하는 끝점 식별 알고리즘입니다.

ssl.engine.factory.class

유형: class
Default: null
Importance: low

SSLEngine 개체를 제공하는 org.apache.kafka.common.security.auth.SslEngineFactory 유형의 클래스입니다. 기본값은 org.apache.kafka.common.security.ssl.DefaultSslEngineFactory입니다.

ssl.keymanager.algorithm

유형: 문자열
기본값: SunX509
중요: 낮음

SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java Virtual Machine에 대해 구성된 키 관리자 팩토리 알고리즘입니다.

ssl.secure.random.implementation

유형: 문자열
기본값: null
Importance: low

SSL 암호화 작업에 사용할 SecureRandom PRNG 구현

ssl.trustmanager.algorithm

유형: 문자열
기본값: PKIX
Importance: low

SSL 연결에 대해 신뢰 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.

transaction.timeout.ms

유형: int
기본값: 60000 (1분)
중요도: 낮음

트랜잭션 코디네이터가 진행 중인 트랜잭션을 사전에 중단하기 전에 생산자의 트랜잭션 상태 업데이트를 대기하는 ms의 최대 시간입니다. 이 값이 브로커의 transaction.max.timeout.ms 설정보다 크면 요청이 InvalidTxnTimeoutException 오류로 인해 실패합니다.

transactional.id

type: string
default: null
Valid Values: non-empty string
Importance: low

트랜잭션 전달에 사용할 TransactionalId입니다. 이를 통해 클라이언트가 새 트랜잭션을 시작하기 전에 동일한 TransactionalId를 사용하는 트랜잭션이 완료되었음을 보장할 수 있으므로 여러 프로듀서 세션에 걸쳐 있는 안정성 의미 체계가 활성화됩니다. TransactionalId를 제공하지 않으면 생산자는 멱등 제공으로 제한됩니다. TransactionalId가 구성된 경우 enable.idempotence 가 우선합니다. 기본적으로 TransactionId는 구성되지 않으므로 트랜잭션을 사용할 수 없습니다. 기본적으로 트랜잭션에는 권장되는 프로덕션 설정인 3개 이상의 브로커 클러스터가 필요합니다. 개발의 경우 broker 설정 transaction.state.log.replication.factor 를 조정하여 이 설정을 변경할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.