3장. 소비자 구성 속성
key.deserializer
유형: class
중요도: high
org.apache.kafka.common.serialization.Deserializer
인터페이스를 구현하는 키에 대한 Deserializer 클래스입니다.value.deserializer
유형: class
중요도: high
org.apache.kafka.common.serialization.Deserializer
인터페이스를 구현하는 값에 대한 Deserializer 클래스입니다.bootstrap.servers
type: list
Default: ""
Valid Values: non-null string
Importance: high
Kafka 클러스터에 대한 초기 연결을 설정하는 데 사용할 호스트/포트 쌍 목록입니다. 클라이언트는 부트 스트랩을 위해 여기에 지정된 서버에 관계없이 모든 서버를 사용합니다. 이 목록은 전체 서버 세트를 검색하는 데 사용된 초기 호스트에만 영향을 미칩니다. 이 목록은
host1:port1,host2:port2,…
형식이어야 합니다. 이러한 서버는 초기 연결이 전체 클러스터 멤버십을 검색하는 데만 사용되므로(이는 동적으로 변경될 수 있음) 전체 서버 세트를 포함할 필요는 없습니다(서버가 다운된 경우).fetch.min.bytes
type: int
Default: 1
Valid Values: [0,…]
가져오기: high
가져오기 요청에 대해 서버가 반환해야 하는 최소 데이터 양입니다. 데이터가 충분하지 않으면 요청은 요청에 응답하기 전에 많은 데이터가 누적될 때까지 기다립니다. 1바이트의 기본 설정은 단일 데이터 바이트를 사용할 수 있거나 가져오기 요청이 데이터 수신 대기 시간이 초과되는 즉시 가져오기 요청에 응답하는 것을 의미합니다. 이 값을 1보다 큰 값으로 설정하면 서버가 더 많은 양의 데이터가 누적될 때까지 대기하므로 추가 대기 시간 비용으로 서버 처리량을 약간 향상시킬 수 있습니다.
group.id
유형: string
기본값: null
가져오기: 높음
이 소비자가 속하는 소비자 그룹을 식별하는 고유한 문자열입니다. 소비자가
subscribe(topic)
또는 Kafka 기반 오프셋 관리 전략을 사용하여 그룹 관리 기능을 사용하는 경우 이 속성이 필요합니다.heartbeat.interval.ms
유형: int
기본값: 3000 (3초)
가져오기: 높음
Kafka의 그룹 관리 기능을 사용할 때 소비자 조정자에게 하트비트 간 예상 시간입니다. 하트비트는 소비자의 세션이 활성 상태로 유지되고 새 소비자가 그룹을 참여하거나 나가면 재조정을 용이하게 하는 데 사용됩니다. 값은
session.timeout.ms
보다 작아야 하지만 일반적으로 해당 값의 1/3을 넘지 않아야 합니다. 일반 리밸런스에 대해 예상 시간을 제어하도록 더욱 낮게 조정할 수 있습니다.max.partition.fetch.bytes
type: int
기본값: 1048576 (1 메비바이트)
유효 값: [0,…]
가져오기: high
서버가 반환할 파티션당 최대 데이터 양입니다. 레코드는 소비자가 일괄 처리로 가져옵니다. 가져오기의 첫 번째 비어 있지 않은 파티션의 첫 번째 레코드 일괄 처리가 이 제한보다 큰 경우에도 일괄 처리가 계속 반환되어 소비자가 진행할 수 있습니다. 브로커가 수락한 최대 레코드 배치 크기는
message.max.bytes
(broker config) 또는max.message.bytes
(topic config)를 통해 정의됩니다. 소비자 요청 크기를 제한하려면 fetch.max.bytes를 참조하십시오.session.timeout.ms
type: int
기본값: 45000 (45 초)
가져오기: 높음
Kafka의 그룹 관리 기능을 사용할 때 클라이언트 오류를 감지하는 데 사용되는 시간 초과입니다. 클라이언트는 정기적으로 하트비트를 전송하여 브로커에 대한 활성 상태를 나타냅니다. 이 세션 제한 시간이 만료되기 전에 브로커에 의해 하트비트를 수신하지 않으면 브로커는 그룹에서 이 클라이언트를 제거하고 리밸런스를 시작합니다. 값은
group.min.session.timeout.ms
및group.max.session.timeout.ms
에 따라 브로커 구성에 구성된 대로 허용 범위에 있어야 합니다.ssl.key.password
유형: password
기본값: null
가져오기: 높음
키 저장소 파일의 개인 키 또는 'ssl.keystore.key'에 지정된 PEM 키의 암호입니다.
ssl.keystore.certificate.chain
유형: password
기본값: null
가져오기: 높음
'ssl.keystore.type'로 지정된 형식의 인증서 체인입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서 목록이 있는 PEM 형식만 지원합니다.
ssl.keystore.key
유형: password
기본값: null
가져오기: 높음
'ssl.keystore.type'로 지정된 형식의 개인 키입니다. 기본 SSL 엔진 팩토리에서는 PKCS#8 키를 사용하여 PEM 형식만 지원합니다. 키가 암호화된 경우 'ssl.key.password'를 사용하여 키 암호를 지정해야 합니다.
ssl.keystore.location
유형: string
기본값: null
가져오기: 높음
키 저장소 파일의 위치입니다. 이는 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다.
ssl.keystore.password
유형: password
기본값: null
가져오기: 높음
키 저장소 파일의 저장소 암호입니다. 이는 클라이언트의 경우 선택 사항이며 'ssl.keystore.location'이 구성된 경우에만 필요합니다. 키 저장소 암호는 PEM 형식으로 지원되지 않습니다.
ssl.truststore.certificates
유형: password
기본값: null
가져오기: 높음
'ssl.truststore.type'로 지정된 형식의 신뢰할 수 있는 인증서입니다. 기본 SSL 엔진 팩토리에서는 X.509 인증서가 있는 PEM 형식만 지원합니다.
ssl.truststore.location
유형: string
기본값: null
가져오기: 높음
신뢰 저장소 파일의 위치입니다.
ssl.truststore.password
유형: password
기본값: null
가져오기: 높음
신뢰 저장소 파일의 암호입니다. 암호를 설정하지 않으면 구성된 신뢰 저장소 파일이 계속 사용되지만 무결성 검사는 비활성화됩니다. PEM 형식으로는 신뢰 저장소 암호가 지원되지 않습니다.
allow.auto.create.topics
type: boolean
Default: true
Importance: medium
주제를 등록하거나 할당할 때 브로커에 대한 자동 주제 생성을 허용합니다. 구독되는 주제는 브로커가
auto.create.topics.enable
브로커 구성을 사용하는 경우에만 자동으로 생성됩니다. 0.11.0보다 오래된 브로커를 사용할 때는 이 구성을false
로 설정해야 합니다.auto.offset.reset
type: string
Default: latest
Valid Values: [latest, earliest, none]
가져오기: 중간
Kafka에 초기 오프셋이 없거나 현재 오프셋이 서버에 더 이상 존재하지 않는 경우(예: 해당 데이터가 삭제되었기 때문에 수행할 작업):
- earliest: 자동으로 가장 낮은 오프셋으로 오프셋을 재설정합니다.
- latest: 오프셋을 최신 오프셋으로 자동 재설정
- none: 소비자 그룹에 대한 이전 오프셋이 없는 경우 소비자에게 예외를 발생시킵니다.
- 다른 모든 사항: 소비자에 예외를 발생시킵니다.
client.dns.lookup
type : string
Default: use_all_dns_ips
Valid Values: [use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
가져오기: 중간
클라이언트에서 DNS 조회를 사용하는 방법을 제어합니다.
use_all_dns_ips
로 설정된 경우 성공적으로 연결이 설정될 때까지 반환된 각 IP 주소에 순서대로 연결합니다. 연결 해제 후 다음 IP가 사용됩니다. 모든 IP가 한 번 사용되면 클라이언트는 호스트 이름에서 IP를 다시 확인합니다(JVM 및 OS 캐시 DNS 이름 조회 모두).resolve_canonical_bootstrap_servers_only
로 설정된 경우 각 부트스트랩 주소를 정식 이름 목록으로 확인합니다. 부트스트랩 단계 후use_all_dns_ips
와 동일하게 작동합니다.connections.max.idle.ms
유형: long
기본값: 540000 (9분)
가져오기: 중간
이 구성에서 지정한 시간(밀리초) 후 유휴 연결을 종료합니다.
default.api.timeout.ms
type: int
Default: 60000 (1 minute)
Valid Values: [0,…]
가져오기: 중간
클라이언트 API의 시간 초과(밀리초)를 지정합니다. 이 구성은 timeout 매개변수를 지정하지 않는 모든 클라이언트 작업에 대한 기본
타임아웃
으로 사용됩니다.enable.auto.commit
type: boolean
Default: true
Importance: medium
true인 경우 소비자 오프셋은 백그라운드에서 주기적으로 커밋됩니다.
exclude.internal.topics
type: boolean
Default: true
Importance: medium
서브스크립션 패턴과 일치하는 내부 주제를 서브스크립션에서 제외할지 여부입니다. 내부 주제를 명시적으로 구독할 수 있습니다.
fetch.max.bytes
type: int
기본값: 52428800(50 메비 바이트)
유효 값: [0,…]
가져오기: medium
가져오기 요청에 대해 서버가 반환해야 하는 최대 데이터 양입니다. 레코드는 소비자가 일괄 처리로 가져오고, 가져오기의 첫 번째 비어 있지 않은 파티션의 첫 번째 레코드 일괄 처리가 이 값보다 크면 소비자를 진행할 수 있도록 레코드 일괄 처리가 반환됩니다. 따라서 이것은 절대적인 최대값이 아닙니다. 브로커가 수락한 최대 레코드 배치 크기는
message.max.bytes
(broker config) 또는max.message.bytes
(topic config)를 통해 정의됩니다. 소비자는 여러 가져오기를 병렬로 수행합니다.group.instance.id
type: string
Default: null
Valid Values: non-empty string
Importance: medium
최종 사용자가 제공하는 소비자 인스턴스의 고유 식별자입니다. 비어 있지 않은 문자열만 허용됩니다. 설정된 경우 소비자는 정적 멤버로 처리되므로 이 ID가 있는 하나의 인스턴스만 언제든지 소비자 그룹에 허용됩니다. 이는 일시적인 비가용성으로 인한 그룹 재조정(예: 프로세스 재시작)으로 인한 그룹 재조정을 방지하기 위해 더 큰 세션 시간 제한과 함께 사용할 수 있습니다. 설정하지 않으면 소비자는 기존 동작인 동적 멤버로 그룹을 조인합니다.
isolation.level
type: string
Default: read_uncommitted
Valid Values: [read_committed, read_uncommitted]
Importance: medium
트랜잭션으로 작성된 메시지를 읽는 방법을 제어합니다.
read_committed
, consumer.poll()로 설정하면 커밋된 트랜잭션 메시지만 반환합니다.read_uncommitted
로 설정하면 (기본값) consumer.poll()은 중단된 트랜잭션 메시지에서도 모든 메시지를 반환합니다. 두 모드에서 아닌 메시지는 무조건적으로 반환됩니다.메시지는 항상 오프셋 순서대로 반환됩니다. 따라서
read_committed
모드에서 consumer.poll()은 첫 번째 열려 있는 트랜잭션의 오프셋보다 작은 마지막 LSO(LSO)까지만 메시지를 반환합니다. 특히 지속적인 트랜잭션에 속하는 메시지 이후에 나타나는 모든 메시지는 관련 트랜잭션이 완료될 때까지 보류됩니다. 결과적으로read_committed
소비자는행 트랜잭션에 있을 때 높은 워터마크까지 읽을 수 없습니다.Further, when in `read_committed` the seekToEnd method will return the LSO .
max.poll.interval.ms
type: int
Default: 300000 (5 minutes)
Valid Values: [1,…]
가져오기: 중간
소비자 그룹 관리를 사용할 때 poll() 호출 간 최대 지연입니다. 이렇게 하면 더 많은 레코드를 가져오기 전에 소비자가 유휴 상태가 될 수 있는 시간에 바인딩된 상한이 배치됩니다. poll()가 이 시간 만료 전에 호출되지 않은 경우 소비자는 실패한 것으로 간주되고 그룹이 파티션을 다른 멤버에 다시 할당하기 위해 재조정됩니다. 이 시간 초과에 도달하는 null 이외의
group.instance.id
를 사용하는 소비자의 경우 파티션을 즉시 다시 할당하지 않습니다. 대신 소비자는session.timeout.ms
의 만료 후 하트비트 전송을 중지하고 파티션이 다시 할당됩니다. 이는 종료한 정적 소비자의 동작을 미러링합니다.max.poll.records
type: int
Default: 500
Valid Values: [1,…]
가져오기: medium
poll()에 대한 단일 호출에서 반환된 최대 레코드 수입니다.
max.poll.records
는 기본 가져오기 동작에 영향을 미치지 않습니다. 소비자는 각 가져오기 요청의 레코드를 캐시하고 각 폴링에서 점진적으로 반환합니다.partition.assignment.strategy
type : list: list: class org.apache.kafka.clients.consumer.RangeAssignor,class org.apache.kafka.clients.consumer.consumer.CooperativeStickyAssignor
Valid Values: non-null string
Importance: medium
클라이언트가 그룹 관리를 사용할 때 소비자 인스턴스 간에 파티션 소유권을 배포하는 데 사용할 지원되는 파티션 할당 전략의 정렬된 클래스 이름 또는 클래스 유형 목록입니다. 사용 가능한 옵션은 다음과 같습니다.
-
org.apache.kafka.clients.consumer.RangeAssignor
: 주제별로 파티션을 할당합니다. -
org.apache.kafka.clients.consumer.RoundRobinAssignor
: 라운드 로빈 방식으로 사용자에게 파티션을 할당합니다. -
org.apache.kafka.clients.consumer.StickyAssignor
: 가능한 한 많은 기존 파티션 할당을 유지하면서 최대 균형을 유지하는 할당을 보장합니다. org.apache.kafka.clients.consumer.CooperativeStickyAssignor
논리를 따르지만 협업 재조정을 허용합니다.기본 할당기는 기본적으로 RangeAssignor를 사용하는 [RangeAssignor, CooperativeStickyAssignor]이지만 목록에서 RangeAssignor를 제거하는 단일 롤링 bounce와의 CooperativeStickyAssignor로 업그레이드할 수 있습니다.
org.apache.kafka.clients.consumer.ConsumeranchorAssignor
인터페이스를 구현하면 사용자 지정 할당 전략에 연결할 수 있습니다.
-
receive.buffer.bytes
type: int
Default: 65536 (64 kibibytes)
유효 값: [-1,…]
가져오기: 중간
데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. 값이 -1이면 OS 기본값이 사용됩니다.
request.timeout.ms
type: int
Default: 30000 (30 seconds)
Valid Values: [0,…]
가져오기: 중간
구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답이 수신되지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 고갈되면 요청이 실패합니다.
sasl.client.callback.handler.class
유형: class
기본값: null
가져오기: 중간
AuthenticateECDHEbackHandler 인터페이스를 구현하는 SASL 클라이언트 콜백 처리기 클래스의 정규화된 이름입니다.
sasl.jaas.config
유형: password
기본값: null
가져오기: 중간
10.0.0.1 구성 파일에서 사용하는 형식의 SASL 연결에 대한 login 컨텍스트 매개변수입니다. 구성 파일 형식은 여기에 설명되어 있습니다. 값 형식은
loginModuleClass 제어Forwarded(optionName=optionValue)*;
입니다. 브로커의 경우 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름을 소문자로 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.config=com.example.ScramLoginModule이 필요합니다.sasl.kerberos.service.name
유형: string
기본값: null
가져오기: 중간
Kafka가 실행되는 Kerberos 사용자 이름입니다. Kafka의 10.0.0.1 구성 또는 Kafka 구성에서 정의할 수 있습니다.
sasl.login.callback.handler.class
유형: class
기본값: null
가져오기: 중간
AuthenticateECDHEbackHandler 인터페이스를 구현하는 SASL 로그인 콜백 처리기 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 콜백 처리기 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름을 붙여야 합니다. 예를 들어 listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLogin>-<backHandler입니다.
sasl.login.class
유형: class
기본값: null
가져오기: 중간
로그인 인터페이스를 구현하는 클래스의 정규화된 이름입니다. 브로커의 경우 로그인 구성 앞에 리스너 접두사 및 SASL 메커니즘 이름을 붙여야 합니다. For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.
sasl.mechanism
type: string
Default: GSSAPI
가져오기: 중간
클라이언트 연결에 사용되는 SASL 메커니즘. 이는 보안 공급자를 사용할 수 있는 모든 메커니즘일 수 있습니다. GSSAPI는 기본 메커니즘입니다.
sasl.oauthbearer.jwks.endpoint.url
유형: string
기본값: null
가져오기: 중간
공급자의 JWKS(JSON Web Key Set) 를 검색할 수 있는 OAuth/OIDC 공급자 URL입니다. URL은 HTTP(S) 기반 또는 파일 기반일 수 있습니다. URL이 HTTP(S) 기반인 경우 브로커 시작 시 구성된 URL을 통해 OAuth/OIDC 제공업체에서 JWKS 데이터를 검색합니다. 이후의 모든 키는 들어오는 요청에 대해 브로커에 캐시됩니다. 아직 캐시에 없는 "kid" 헤더 클레임 값을 포함하는 JWT에 대한 인증 요청이 수신되면 요청 시 JWKS 끝점을 다시 쿼리합니다. 그러나 브로커는 URL 모든 sasl.oauthbearer.jwks.endpoint.refresh.ms 밀리초를 폴링하여 이를 포함하는 JWT 요청을 수신하기 전에 향후 키로 캐시를 새로 고칩니다. URL이 파일 기반인 경우 브로커는 시작 시 구성된 위치에서 JWKS 파일을 로드합니다. JWT에 JWKS 파일에 없는 "kid" 헤더 값이 포함된 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.token.endpoint.url
유형: string
기본값: null
가져오기: 중간
OAuth/OIDC ID 공급자의 URL입니다. URL이 HTTP(S) 기반인 경우 해당 발행자는 sasl.jaas.config의 구성에 따라 로그인 요청을 수행할 요청의 토큰 끝점 URL입니다. URL이 파일 기반인 경우 권한 부여에 사용할 OAuth/OIDC ID 공급자가 발행한 액세스 토큰( JWT 직렬화 형식)이 포함된 파일을 지정합니다.
security.protocol
type: string
Default: PLAINTEXT
Valid Values: [PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL]
가져오기: 중간
브로커와 통신하는 데 사용되는 프로토콜입니다. 유효한 값은 PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL입니다.
send.buffer.bytes
type: int
기본값: 131072(128 키비바이트)
유효 값: [-1,…]
가져오기: 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
Default: TLSv1.2,TLSv1.3
가져오기: 중간
SSL 연결에 활성화된 프로토콜 목록입니다. Java 11 이상에서 실행되는 경우 기본값은 'TLSv1.2,TLSv1.3'입니다. 그렇지 않으면 'TLSv1.2'입니다. Java 11의 기본값을 사용하면 클라이언트 및 서버 모두 TLSv1.2로 지원하고 대체(TLSv1.2 이상 지원한다고 가정) TLSv1.3을 선호합니다. 이 기본값은 대부분의 경우에 적합합니다.
ssl.protocol
에 대한 구성 설명서도 참조하십시오.ssl.keystore.type
유형: string
기본: JKS
가져오기: 중간
키 저장소 파일의 파일 형식입니다. 이는 클라이언트의 경우 선택 사항입니다. 기본
ssl.engine.factory.class
에서 현재 지원되는 값은 [JKS, PKCS12, PEM]입니다.ssl.protocol
type: string
Default: TLSv1.3
가져오기: 중간
SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. Java 11 이상, 'TLSv1.2'로 실행할 때 기본값은 'TLSv1.3'입니다. 이 값은 대부분의 사용 사례에 적합합니다. 최근 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
유형: string
기본값: null
가져오기: 중간
SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다.
ssl.truststore.type
유형: string
기본: JKS
가져오기: 중간
신뢰 저장소 파일의 파일 형식입니다. 기본
ssl.engine.factory.class
에서 현재 지원되는 값은 [JKS, PKCS12, PEM]입니다.auto.commit.interval.ms
type: int
Default: 5000 (5 seconds)
Valid Values: [0,…]
가져오기: low
enable.auto.commit
이true
로 설정된 경우 소비자 오프셋이 Kafka에 자동 커밋되는 빈도(밀리초)입니다.check.crcs
type: boolean
Default: true
가져오기: low
사용된 레코드의 CRC32를 자동으로 확인합니다. 이렇게 하면 메시지의 온-the-wire 또는 온-디스크 손상이 발생하지 않습니다. 이 검사에는 오버헤드가 추가되므로 과도한 성능을 원하는 경우 비활성화될 수 있습니다.
client.id
유형: string
기본값: ""
가져오기: 낮음
요청 시 서버로 전달할 id 문자열입니다. 이 목적은 서버 측 요청 로깅에 논리적 애플리케이션 이름을 포함할 수 있도록 허용하여 ip/port를 초과하는 요청 소스를 추적할 수 있습니다.
client.rack
유형: string
기본값: ""
가져오기: 낮음
이 클라이언트의 랙 식별자입니다. 이 값은 이 클라이언트가 물리적으로 있는 위치를 나타내는 문자열 값일 수 있습니다. 이는 브로커 구성 'broker.rack'과 일치합니다.
fetch.max.wait.ms
type: int
Default: 500
Valid Values: [0,…]
가져오기: low
fetch.min.bytes에서 지정한 요구 사항을 즉시 충족하기 위해 데이터가 충분하지 않은 경우 가져오기 요청에 응답하기 전에 서버가 차단하는 최대 시간입니다.
interceptor.classes
type: list
Default: ""
Valid Values: non-null string
가져오기: low
인터셉터로 사용할 클래스 목록입니다.
org.apache.kafka.clients.consumer.ConsumerInterceptor
인터페이스를 구현하면 소비자가 수신한 레코드를 가로채기(및 변경)할 수 있습니다. 기본적으로 인터셉터가 없습니다.metadata.max.age.ms
type: long
Default: 300000 (5 minutes)
Valid Values: [0,…]
가져오기: low
이 기간(밀리초) 후 새 브로커 또는 파티션을 사전에 검색하기 위해 파티션 리더십 변경을 보지 못하더라도 메타데이터를 강제로 새로 고침합니다.
metric.reporters
type: list
Default: ""
Valid Values: non-null string
가져오기: low
메트릭 보고자로 사용할 클래스 목록입니다.
org.apache.kafka.common.metrics.MetricsReporter
인터페이스를 구현하면 새 지표 생성에 대한 알림을 받을 클래스를 연결할 수 있습니다. JmxReporter는 항상 통계를 등록하기 위해 포함됩니다.metrics.num.samples
type: int
Default: 2
Valid Values: [1,…]
가져오기: 낮음
메트릭으로 유지 관리되는 샘플 수입니다.
metrics.recording.level
type: string
Default: INFO
Valid Values: [INFO, DEBUG, TRACE]
가져오기: low
메트릭에 대해 가장 높은 기록 수준입니다.
metrics.sample.window.ms
type: long
Default: 30000 (30 seconds)
Valid Values: [0,…]
가져오기: low
지표 샘플이 계산되는 시간 창입니다.
reconnect.backoff.max.ms
type: long
Default: 1000 (1 second)
Valid Values: [0,…]
가져오기: low
브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공되는 경우 호스트당 백오프는 연속된 연결 실패마다 최대 최대 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 문제가 발생하지 않도록 20 % 임의 지터가 추가됩니다.
reconnect.backoff.ms
type: long
Default: 50
Valid Values: [0,…]
가져오기: low
지정된 호스트에 다시 연결하기 전에 대기하는 기본 시간입니다. 이렇게 하면 엄격한 루프에서 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 클라이언트가 브로커에 대한 모든 연결 시도에 적용됩니다.
retry.backoff.ms
type: long
Default: 100
Valid Values: [0,…]
가져오기: low
지정된 주제 파티션에 실패한 요청을 재시도하기 전에 대기하는 시간입니다. 이렇게 하면 일부 실패 시나리오에서 엄격한 루프에서 반복적으로 요청을 보내는 것을 방지할 수 있습니다.
sasl.kerberos.kinit.cmd
type: string
Default: /usr/bin/kinit
가져오기: low
Kerberos kinit 명령 경로입니다.
sasl.kerberos.min.time.before.relogin
유형: long
기본값: 60000
가져오기: 낮음
새로 고침 시도 사이에 로그인 스레드 절전 시간.
sasl.kerberos.ticket.renew.jitter
유형: double
기본값: 0.05
가져오기: 낮음
임의의 지터의 백분율이 갱신 시간에 추가되었습니다.
sasl.kerberos.ticket.renew.window.factor
유형: double
기본값: 0.8
가져오기: 낮음
로그인 스레드는 마지막 새로 고침에서 티켓 만료까지 지정된 창 요인에 도달할 때까지 유휴 상태가 됩니다. 이 때 티켓을 갱신하려고 합니다.
sasl.login.connect.timeout.ms
유형: int
기본값: null
가져오기: 낮음
외부 인증 공급자 연결 시간 초과의 (선택 사항) 값(밀리초)입니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.login.read.timeout.ms
유형: int
기본값: null
가져오기: 낮음
외부 인증 공급자 읽기 시간(선택 사항)의 (선택 사항) 값(밀리초)입니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.login.refresh.buffer.seconds
type: short
Default: 300
Valid Values: [0,…,3600]
가져오기: 낮은
인증 정보를 새로 고칠 때 자격 증명이 만료되기 전의 버퍼 시간(초)입니다. 새로 고침이 버퍼 초 수보다 만료에 더 가까운 경우 최대한 버퍼 시간을 유지하도록 새로 고침이 이동합니다. 적법한 값은 0에서 3600(1시간) 사이이며, 값을 지정하지 않으면 기본값 300(5분)이 사용됩니다. 이 값 및 sasl.login.refresh.min.period.seconds는 합계가 인증 정보의 나머지 수명을 초과하면 무시됩니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.login.refresh.min.period.seconds
type: short
Default: 60
Valid Values: [0,…,900]
가져오기: 낮은
로그인 새로 고침 스레드가 인증 정보를 새로 고치기 전에 대기하는 최소 시간(초)입니다. 적법한 값은 0에서 900(15분) 사이이며, 값이 지정되지 않은 경우 기본값 60(1분)이 사용됩니다. 이 값과 sasl.login.refresh.buffer.seconds는 합계가 인증 정보의 나머지 수명을 초과하면 무시됩니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.login.refresh.window.factor
type: double
Default: 0.8
Valid Values: [0.5,…,1.0]
가져오기: low
로그인 새로 고침 스레드는 인증 정보의 수명을 기준으로 지정된 창 요소에 도달할 때까지 유휴 상태가 됩니다. 이 시점에서 인증 정보를 새로 고침하려고 합니다. 적법한 값은 0.5(50%)에서 1.0(100%) 사이이며, 값이 지정되지 않은 경우 기본값 0.8(80%)가 사용됩니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.login.refresh.window.jitter
type: double
Default: 0.05
Valid Values: [0.0,…,0.25]
가져오기: 낮음
로그인 새로 고침 스레드의 절전 시간에 추가되는 인증 정보의 수명을 기준으로 최대 임의 지터입니다. 적법한 값은 0에서 0.25 (25%) 사이이며, 값이 지정되지 않은 경우 기본값 0.05(5%)가 사용됩니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.login.retry.backoff.max.ms
유형: long
기본값: 10000(10초)
가져오기: 낮음
로그인이 시도한 후 외부 인증 공급자를 시도하는 최대 대기 시간의 (선택 사항) 값(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기 시간과 함께 지수 백오프 알고리즘을 사용하며, sasl.login.retry.backoff.max.ms 설정으로 지정된 최대 대기 길이까지 시도 사이에 대기 길이를 두 배로 늘어납니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.login.retry.backoff.ms
유형: long
기본값: 100
가져오기: 낮은
로그인 간 초기 대기 시간(선택 사항)에서 외부 인증 공급자를 시도하는 경우 (선택 사항) 값(밀리초)입니다. login은 sasl.login.retry.backoff.ms 설정을 기반으로 초기 대기 시간과 함께 지수 백오프 알고리즘을 사용하며, sasl.login.retry.backoff.max.ms 설정으로 지정된 최대 대기 길이까지 시도 사이에 대기 길이를 두 배로 늘어납니다. 현재 OAUTHBEEER에만 적용됩니다.
sasl.oauthbearer.clock.skew.seconds
유형: int
기본값: 30
가져오기: 낮음
OAuth/OIDC ID 공급자와 브로커 간의 차이점을 허용하는 (선택 사항) 값(선택 사항)입니다.
sasl.oauthbearer.expected.audience
유형: list
기본값: null
가져오기: 낮음
브로커가 쉼표로 구분된 설정을 사용하여 예상 대상 중 하나에 대해 JWT가 발행되었는지 확인합니다. JWT는 표준 OAuth "공지" 클레임에 대해 검사되며 이 값이 설정된 경우 브로커는 JWT의 "aud" 클레임의 값과 일치하여 정확한 일치가 있는지 확인합니다. 일치하는 항목이 없는 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.expected.issuer
유형: string
기본값: null
가져오기: 낮음
브로커가 사용할 (선택 사항) 설정을 사용하여 JWT가 예상 발급자에 의해 생성되었는지 확인합니다. JWT는 표준 OAuth "iss" 클레임에 대해 검사하고 이 값이 설정되면 브로커는 JWT의 "iss" 클레임에 있는 것과 정확히 일치합니다. 일치하는 항목이 없는 경우 브로커는 JWT를 거부하고 인증이 실패합니다.
sasl.oauthbearer.jwks.endpoint.refresh.ms
유형: long
Default:36 00000 (1 hour)
가져오기: 낮음
브로커가 JWT의 서명을 확인하는 키가 포함된 JWKS(JSON Web Key Set) 캐시를 새로 고침할 때까지(선택 사항) 값(선택 사항)입니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms
유형: long
기본값: 10000(10초)
가져오기: 낮음
외부 인증 공급자에서 JWKS(JSON Web Key Set)를 검색하려는 시도 간 최대 대기 시간(밀리초)입니다. JWKS 검색은 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기 알고리즘과 함께 지수 백오프 알고리즘을 사용하며, sasl.oauthbearer.jwks.endpoint.endpoint.retry.backoff.max.ms 설정을 통해 지정한 최대 대기 기간 간 대기 길이를 두 배로 늘립니다.
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms
유형: long
기본값: 100
가져오기: 낮은
JWKS(JSON 웹 키 세트) 검색 시 외부 인증 공급자의 초기 대기 시간(선택 사항) 값(선택 사항)입니다. JWKS 검색은 sasl.oauthbearer.jwks.endpoint.retry.backoff.ms 설정을 기반으로 초기 대기 알고리즘과 함께 지수 백오프 알고리즘을 사용하며, sasl.oauthbearer.jwks.endpoint.endpoint.retry.backoff.max.ms 설정을 통해 지정한 최대 대기 기간 간 대기 길이를 두 배로 늘립니다.
sasl.oauthbearer.scope.claim.name
유형: string
기본값: 범위
가져오기: 낮음
범위에 대한 OAuth 클레임은 종종 "범위"라고 하지만, OAuth/OIDC 공급자가 해당 클레임에 대해 다른 이름을 사용하는 경우 JWT 페이로드에 포함된 범위에 사용할 다른 이름을 제공할 수 있습니다.
sasl.oauthbearer.sub.claim.name
type: string
Default: sub
가져오기: low
주체에 대한 OAuth 클레임은 종종 "sub"라고 하지만, OAuth/OIDC 공급자가 해당 클레임에 대해 다른 이름을 사용하는 경우 JWT 페이로드에 포함된 항목에 사용할 다른 이름을 제공할 수 있습니다.
security.providers
유형: string
기본값: null
가져오기: 낮음
구성 가능한 작성자 클래스 목록은 각각 보안 알고리즘을 구현하는 공급자를 반환합니다. 이러한 클래스는
org.apache.kafka.common.security.auth.SecurityProviderCreator
인터페이스를 구현해야 합니다.ssl.cipher.suites
유형: list
기본값: null
가져오기: 낮음
암호화 제품군 목록입니다. TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결의 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다.
ssl.endpoint.identification.algorithm
유형: string
기본값: https
가져오기: 낮음
서버 인증서를 사용하여 서버 호스트 이름을 검증하는 끝점 식별 알고리즘입니다.
ssl.engine.factory.class
유형: class
기본값: null
가져오기: 낮음
SSLEngine 개체를 제공하는 org.apache.kafka.common.security.auth.SslEngineFactory 유형의 클래스입니다. Default value is org.apache.kafka.common.security.ssl.DefaultSslEngineFactory.
ssl.keymanager.algorithm
유형: string
Default: SunX509
가져오기: 낮음
SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 키 관리자 팩토리 알고리즘입니다.
ssl.secure.random.implementation
유형: string
기본값: null
가져오기: 낮음
SSL 암호화 작업에 사용할 SecureRandomECDHE 구현입니다.
ssl.trustmanager.algorithm
유형: string
Default: PKIX
가져오기: 낮음
신뢰 관리자 팩토리에서 SSL 연결에 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다.