191.2. 옵션
Kafka 구성 요소는 아래에 나열된 9 가지 옵션을 지원합니다.
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
구성 (일반) | 끝점에서 재사용할 일반적인 옵션을 사용하여 Kafka 구성 요소를 사전 구성할 수 있습니다. | KafkaConfiguration | |
브로커 (일반) | 사용할 Kafka 브로커의 URL입니다. 형식은 host1:port1,host2:port2이며 목록은 브로커의 하위 집합을 가리키는 브로커 또는 VIP의 하위 집합일 수 있습니다. 이 옵션을 Kafka 문서에서 bootstrap.servers라고 합니다. | 문자열 | |
workerpool (고급) | kafka 서버가 비동기 비차단 처리를 사용하여 KafkaProducer에서 전송된 메시지를 승인한 후 공유 사용자 지정 작업자 풀을 사용하여 계속 라우팅 교환에 대한 메시지를 승인합니다. 이 옵션을 사용하는 경우 더 이상 필요하지 않을 때 풀을 종료하려면 스레드 풀의 라이프사이클을 처리해야 합니다. | ExecutorService | |
useGlobalSslContext Parameters (보안) | 글로벌 SSL 컨텍스트 매개 변수를 사용합니다. | false | boolean |
breakOnFirstError (consumer) | 이 옵션은 소비자가 교환을 처리하고 실패할 때 발생하는 상황을 제어합니다. 옵션이 false이면 소비자는 다음 메시지를 계속 진행하여 처리합니다. 옵션이 true이면 소비자가 중단되고 오류가 발생한 메시지의 오프셋을 다시 검색한 다음 이 메시지를 처리하기 위해 다시 시도합니다. 그러나 이로 인해 항상 오류가 발생할 때마다 동일한 메시지를 지속적으로 처리할 수 있습니다(예: 중독 메시지). 따라서 Camel의 오류 처리기를 사용하여 이를 처리하는 것이 좋습니다. | false | boolean |
allowManualCommit (consumer) | KafkaManualCommit을 통해 수동 커밋을 허용할지 여부입니다. 이 옵션을 활성화하면 KafkaManualCommit의 인스턴스가 Exchange 메시지 헤더에 저장되어 최종 사용자가 이 API에 액세스하고 Kafka 소비자를 통해 수동 오프셋 커밋을 수행할 수 있습니다. | false | boolean |
kafkaManualCommit Cryostat (consumer) | KafkaManualCommit 인스턴스를 생성하는 데 사용할 팩토리입니다. 이를 통해 사용자 지정 팩토리를 플러그인하여 박스에서 벗어나는 기본 구현에서 벗어나는 수동 커밋을 수행할 때 특수 논리인 경우 사용자 지정 KafkaManualCommit 인스턴스를 생성할 수 있습니다. | KafkaManualCommit Factory | |
resolveProperty Placeholders (advanced) | 구성 요소 시작 시 속성 자리 표시자를 자체적으로 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다. | true | boolean |
shutdownTimeout (일반) | 소비자 또는 생산자가 종료되고 작업자 스레드를 종료할 때까지 정상적으로 대기하는 시간(밀리초)입니다. | 30000 | int |
Kafka 끝점은 URI 구문을 사용하여 구성됩니다.
kafka:topic
다음 경로 및 쿼리 매개변수를 사용합니다.
191.2.1. 경로 매개변수(1 매개변수):
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
topic | 사용할 항목의 이름입니다. 소비자에서 쉼표를 사용하여 여러 주제를 분리할 수 있습니다. 생산자는 메시지를 단일 주제로만 보낼 수 있습니다. | 문자열 |
191.2.2. 쿼리 매개변수(94 매개변수):
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
브로커 (일반) | 사용할 Kafka 브로커의 URL입니다. 형식은 host1:port1,host2:port2이며 목록은 브로커의 하위 집합을 가리키는 브로커 또는 VIP의 하위 집합일 수 있습니다. 이 옵션을 Kafka 문서에서 bootstrap.servers라고 합니다. | 문자열 | |
ClientID (공용) | 클라이언트 ID는 호출을 추적하는 데 도움이 되도록 각 요청에 전송된 사용자 지정 문자열입니다. 요청을 수행하는 애플리케이션을 논리적으로 식별해야 합니다. | 문자열 | |
headerFilterStrategy (common) | 사용자 정의 HeaderFilterStrategy를 사용하여 Camel 메시지로의 헤더를 필터링하려면 다음을 수행합니다. | HeaderFilterStrategy | |
reconnectBackoffMaxMs (common) | 반복적으로 연결하지 못한 브로커에 다시 연결할 때 대기하는 최대 시간(밀리초)입니다. 제공된 경우 호스트당 백오프는 연속되는 각 연결 오류에 대해 이 최대값까지 기하급수적으로 증가합니다. 백오프 증가를 계산한 후 연결 측정을 방지하기 위해 20%의 임의 지터가 추가됩니다. | 1000 | 정수 |
allowManualCommit (consumer) | KafkaManualCommit을 통해 수동 커밋을 허용할지 여부입니다. 이 옵션을 활성화하면 KafkaManualCommit의 인스턴스가 Exchange 메시지 헤더에 저장되어 최종 사용자가 이 API에 액세스하고 Kafka 소비자를 통해 수동 오프셋 커밋을 수행할 수 있습니다. | false | boolean |
autoCommitEnable (consumer) | true인 경우 주기적으로 Zoo Cryostat에 커밋한 메시지의 오프셋은 소비자가 이미 가져온 것입니다. 이 커밋된 오프셋은 프로세스가 새 소비자가 시작되는 위치로 실패할 때 사용됩니다. | true | 부울 |
autoCommitIntervalMs (consumer) | 소비자 오프셋이 zookeeper에 커밋되는 ms의 빈도입니다. | 5000 | 정수 |
autoCommitOnStop (consumer) | 소비자가 마지막으로 사용한 메시지의 커밋이 있는지 확인하기 위해 소비자가 중지될 때 명시적으로 자동 커밋을 수행할지 여부입니다. 이 경우 autoCommitEnable이 설정되어 있어야 합니다. 가능한 값은 sync, async 또는 none입니다. 그리고 sync는 기본값입니다. | sync | 문자열 |
autoOffsetReset (consumer) | How to do when there is no initial offset in Zoo Cryostat or if an offset is out of range: automatically reset the offset to the earliest offset latest : 자동으로 오프셋을 최신 오프셋으로 재설정하십시오. | latest | 문자열 |
breakOnFirstError (consumer) | 이 옵션은 소비자가 교환을 처리하고 실패할 때 발생하는 상황을 제어합니다. 옵션이 false이면 소비자는 다음 메시지를 계속 진행하여 처리합니다. 옵션이 true이면 소비자가 중단되고 오류가 발생한 메시지의 오프셋을 다시 검색한 다음 이 메시지를 처리하기 위해 다시 시도합니다. 그러나 이로 인해 항상 오류가 발생할 때마다 동일한 메시지를 지속적으로 처리할 수 있습니다(예: 중독 메시지). 따라서 Camel의 오류 처리기를 사용하여 이를 처리하는 것이 좋습니다. | false | boolean |
bridgeErrorHandler (consumer) | Camel 라우팅 오류 처리기에 소비자를 브리징할 수 있습니다. 즉, 소비자가 들어오는 메시지를 선택하려고 하는 동안 발생한 모든 예외가 이제 메시지로 처리되고 라우팅 오류 처리기에서 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시됩니다. | false | boolean |
CheckCrcs (consumer) | 사용된 레코드의 CRC32를 자동으로 확인합니다. 이렇게 하면 메시지에 대한 on-the-wire 또는 온-디스크 손상이 발생하지 않았습니다. 이 검사에는 오버헤드가 추가되므로 극단적인 성능을 원하는 경우 비활성화될 수 있습니다. | true | 부울 |
consumerRequestTimeoutMs (consumer) | 구성은 클라이언트가 요청 응답을 기다리는 최대 시간을 제어합니다. 시간 초과가 경과하기 전에 응답을 수신하지 않으면 필요한 경우 클라이언트가 요청을 다시 전송하거나 재시도가 소진되면 요청을 다시 보냅니다. | 40000 | 정수 |
consumersCount (consumer) | kafka 서버에 연결하는 소비자 수 | 1 | int |
consumerStreams (consumer) | 소비자의 동시 소비자 수 | 10 | int |
fetchMaxBytes (consumer) | 가져오기 요청에 대해 서버가 반환해야 하는 최대 데이터 양은 절대 최대값이 아니며, 가져오기의 첫 번째 파티션이 이 값보다 크면 소비자가 진행할 수 있도록 메시지가 반환됩니다. 브로커가 허용하는 최대 메시지 크기는 message.max.bytes(broker config) 또는 max.message.bytes(topic config)를 통해 정의됩니다. 소비자는 병렬로 여러 가져오기를 수행합니다. | 52428800 | 정수 |
fetchMinBytes (consumer) | 서버에서 가져오기 요청에 대해 반환해야 하는 최소 데이터 양입니다. 데이터가 충분하지 않은 경우 요청은 요청에 응답하기 전에 많은 데이터가 누적될 때까지 기다립니다. | 1 | 정수 |
fetchWaitMaxMs (consumer) | fetch.min.bytes를 즉시 충족할 수 있는 데이터가 충분하지 않은 경우 페치 요청에 응답하기 전에 서버가 차단되는 최대 시간 | 500 | 정수 |
groupID (consumer) | 이 소비자가 속한 소비자 프로세스 그룹을 고유하게 식별하는 문자열입니다. 동일한 그룹 id를 여러 프로세스로 설정하면 해당 프로세스가 모두 동일한 소비자 그룹의 일부임을 나타냅니다. 이 옵션은 사용자에게 필요합니다. | 문자열 | |
heartbeatIntervalMs (consumer) | Kafka의 그룹 관리 기능을 사용할 때 하트비트와 소비자 코디네이터 간 예상 시간입니다. 하트비트는 사용자의 세션이 활성 상태를 유지하고 새 소비자가 그룹에 참여하거나 나가면 재조정을 용이하게 하는 데 사용됩니다. 값은 session.timeout.ms보다 작아야 하지만 일반적으로 해당 값의 1/3을 넘지 않도록 설정해야 합니다. 정상적인 리밸런스에 필요한 시간을 제어하도록 더욱 낮게 조정할 수 있습니다. | 3000 | 정수 |
kafkaHeaderDeserializer (consumer) | deserialization kafka 헤더 값을 camel headers 값으로 설정합니다. | KafkaHeaderDeserializer | |
keyDeserializer (consumer) | Deserializer 인터페이스를 구현하는 키에 대한 Deserializer 클래스입니다. | org.apache.kafka.common.serialization.StringDeserializer | 문자열 |
max CryostatFetchBytes (consumer) | 서버가 반환할 파티션당 최대 데이터 양입니다. 요청에 사용되는 최대 총 메모리는 #partitions max.partition.fetch.bytes입니다. 이 크기는 서버에서 허용하는 최대 메시지 크기보다 커야 합니다. 그렇지 않으면 생산자가 소비자가 가져올 수 있는 것보다 더 큰 메시지를 보낼 수 있습니다. 이러한 경우 소비자는 특정 파티션에서 큰 메시지를 가져오려고 할 수 있습니다. | 1048576 | 정수 |
maxPollIntervalMs (consumer) | 소비자 그룹 관리를 사용할 때 poll() 호출 사이의 최대 지연입니다. 이렇게 하면 더 많은 레코드를 가져오기 전에 소비자를 유휴 상태로 설정할 수 있는 시간에 상한이 발생합니다. 이 시간 초과가 만료되기 전에 poll()를 호출하지 않으면 소비자가 실패한 것으로 간주되고 그룹이 파티션을 다른 멤버에 다시 할당하기 위해 재조정됩니다. | long | |
maxPollRecords (consumer) | poll()에 대한 단일 호출에서 반환되는 최대 레코드 수 | 500 | 정수 |
offsetRepository (consumer) | 주제의 각 파티션의 오프셋을 로컬로 저장하기 위해 사용할 오프셋 리포지토리입니다. 하나를 정의하면 자동 커밋이 비활성화됩니다. | StateRepository | |
partitionAssignor (consumer) | 그룹 관리를 사용할 때 클라이언트가 소비자 인스턴스에 파티션 소유권을 배포하는 데 사용할 파티션 할당 전략의 클래스 이름입니다. | org.apache.kafka.clients.consumer.RangeAssignor | 문자열 |
pollTimeoutMs (consumer) | KafkaConsumer를 폴링할 때 사용되는 제한 시간입니다. | 5000 | long |
seekTo (consumer) | KafkaConsumer가 startup: beginning: read from beginning: read from end : read from end에서 읽어오는 경우 설정합니다. 이 값은 이전 속성 seekToBeginning을 대체합니다. | 문자열 | |
sessionTimeoutMs (consumer) | Kafka의 그룹 관리 기능을 사용할 때 오류를 감지하는 데 사용되는 시간 초과입니다. | 10000 | 정수 |
shutdownTimeout (일반) | 소비자 또는 생산자가 종료되고 작업자 스레드를 종료할 때까지 정상적으로 대기하는 시간(밀리초)입니다. | 30000 | int |
topicIsPattern (Consumer) | 주제가 패턴(일반 표현식)인지 여부입니다. 이는 패턴과 일치하는 동적 주제 수를 구독하는 데 사용할 수 있습니다. | false | boolean |
valueDeserializer (consumer) | Deserializer 인터페이스를 구현하는 value의 Deserializer 클래스입니다. | org.apache.kafka.common.serialization.StringDeserializer | 문자열 |
exceptionHandler (consumer) | 사용자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있으면 이 옵션이 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시됩니다. | ExceptionHandler | |
exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
bridgeEndpoint (producer) | 옵션이 true인 경우 KafkaProducer는 인바운드 메시지의 KafkaConstants.TOPIC 헤더 설정을 무시합니다. | false | boolean |
bufferMemorySize (producer) | 생산자가 서버로 전송되는 대기 중인 레코드를 버퍼링하는 데 사용할 수 있는 총 메모리 바이트입니다. 레코드를 서버로 전달할 수 있는 것보다 빠르게 전송되는 경우 생산자는 block.on.buffer.full에서 지정한 기본 설정에 따라 예외를 차단하거나 throw합니다. 이 설정은 생산자가 사용할 총 메모리에 거의 대응해야 하지만 생산자가 사용하는 모든 메모리는 버퍼링에 사용되지 않으므로 하드 바인딩은 아닙니다. 일부 추가 메모리는 압축(압축이 활성화된 경우) 및 진행 중인 요청을 유지 관리하는 데 사용됩니다. | 33554432 | 정수 |
circularTopicDetection (producer) | 옵션이 true인 경우 KafkaProducer는 메시지가 kafka 소비자의 원본인 경우 메시지를 동일한 주제로 다시 전송하려고 시도했는지 감지합니다. KafkaConstants.TOPIC 헤더가 원래 kafka 소비자 주제와 동일한 경우 헤더 설정이 무시되고 생산자 끝점의 주제가 사용됩니다. 즉, 이는 동일한 메시지를 어디에서 왔는지 다시 보내지 않습니다. bridgeEndpoint 옵션이 true로 설정된 경우 이 옵션은 사용되지 않습니다. | true | boolean |
compressionCodec (producer) | 이 매개변수를 사용하면 이 생산자가 생성한 모든 데이터에 대해 압축 codec를 지정할 수 있습니다. 유효한 값은 none, gzip 및 snappy입니다. | none | 문자열 |
connectionMaxIdleMs (producer) | 이 구성에서 지정한 시간(밀리초) 후에 유휴 연결을 종료합니다. | 540000 | 정수 |
enableIdempotence (producer) | 'true'로 설정하면 생산자는 각 메시지의 복사본이 스트림에 기록되도록 합니다. 'false'인 경우 생산자 재시도는 스트림에서 재시도된 메시지의 중복을 작성할 수 있습니다. true로 설정하면 max.in.flight.requests.per.connection을 1로 설정하고 재시도 횟수는 0이 될 수 없으며 추가로 acks를 'all'로 설정해야 합니다. | false | boolean |
kafkaHeaderSerializer (producer) | serialization camel headers 값에 대한 사용자 지정 KafkaHeaderDeserializer를 kafka 헤더 값으로 설정합니다. | KafkaHeaderSerializer | |
키 (producer) | 레코드 키(또는 키가 지정되지 않은 경우 null)입니다. 이 옵션을 구성한 경우 KafkaConstants#KEY 헤더보다 우선합니다. | 문자열 | |
keySerializerClass (producer) | 키에 대한 serializer 클래스입니다(지정되지 않은 경우 메시지와 동일한 기본값). | org.apache.kafka.common.serialization.StringSerializer | 문자열 |
lingerMs (producer) | 생산자는 단일 일괄 처리 요청으로 요청 전송 사이에 도달하는 모든 레코드를 그룹화합니다. 일반적으로 이 작업은 레코드가 전송될 수 있는 것보다 더 빨리 도달하는 경우에만 발생합니다. 그러나 경우에 따라 클라이언트는 중간 로드 상태에서도 요청 수를 줄여야 할 수 있습니다. 이 설정은 전송이 함께 배치될 수 있도록 다른 레코드가 전송될 수 있도록 지정된 지연을 즉시 전송하는 대신, 레코드가 즉시 전송되는 동안 대기하지 않고 적은 양의 인공 지연을 추가하여 이를 수행합니다. 이는 TCP에서 나글 알고리즘과 유사한 것으로 간주될 수 있습니다. 이 설정은 일괄 처리 지연에 대한 상한을 부여합니다. 파티션에 대한 batch.size의 가치가 있는 레코드가 즉시 전송되지만, 이 파티션에 대해 누적된 이 많은 바이트보다 적은 경우 이 파티션에 대해 누적된 바이트보다 적으면 지정된 시간이 더 많은 레코드가 표시될 때까지 'linger'합니다. 이 설정의 기본값은 0입니다(예: 지연 없음). 예를 들어 linger.ms=5를 설정하면 전송된 요청 수를 줄이는 효과가 있지만 로드 센스에서 전송된 레코드에 최대 5ms의 대기 시간이 추가됩니다. | 0 | 정수 |
maxBlockMs (producer) | 구성은 kafka로 보내는 기간이 차단되는지 제어합니다. 이러한 방법은 여러 가지 이유로 차단될 수 있습니다. 예를 들어 버퍼 전체, 메타데이터를 사용할 수 없습니다. 이 구성은 metadata를 가져오는 데 소요된 총 시간, 키와 값의 직렬화, send()를 수행할 때 버퍼 메모리의 분할 및 할당에 대한 최대 제한을 적용합니다. partitionsFor()의 경우 이 구성은 메타데이터 대기 시 최대 시간 임계값을 적용합니다. | 60000 | 정수 |
maxInFlightRequest (producer) | 클라이언트가 차단하기 전에 단일 연결로 전송할 수 없는 최대 요청 수입니다. 이 설정이 1보다 크고 전송에 실패하는 경우 재시도로 인해 메시지 순서를 다시 정렬할 위험이 있습니다(예: 재시도가 활성화된 경우). | 5 | 정수 |
maxRequestSize (producer) | 요청의 최대 크기입니다. 이는 최대 레코드 크기에 대한 효과적으로 제한입니다. 서버에는 이 값과 다를 수 있는 레코드 크기에 대한 자체 제한이 있습니다. 이 설정은 대규모 요청을 보내지 않도록 생산자가 단일 요청으로 보낼 레코드 배치 수를 제한합니다. | 1048576 | 정수 |
metadataMaxAgeMs (producer) | 파티션 리더십 변경 사항을 보지 못하더라도 새 브로커 또는 파티션을 사전에 검색하지 못한 경우에도 메타데이터를 강제로 새로 고침한 후 밀리초 단위입니다. | 300000 | 정수 |
metricReporters (producer) | 메트릭 보고자로 사용할 클래스 목록입니다. MetricReporter 인터페이스를 구현하면 새 메트릭 생성을 알리는 클래스를 연결할 수 있습니다. JmxReporter는 항상 statistics를 등록하기 위해 포함되어 있습니다. | 문자열 | |
metricsSampleWindowMs (producer) | 컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다. | 30000 | 정수 |
noOfMetricsSample (producer) | 컴퓨팅 메트릭에 유지 관리되는 샘플 수입니다. | 2 | 정수 |
partitioner (producer) | 하위 주제를 분할하는 파티션 클래스입니다. 기본 파티션은 키의 해시를 기반으로 합니다. | org.apache.kafka.clients.producer.internals.DefaultPartitioner | 문자열 |
partitionKey (producer) | 레코드를 전송할 파티션입니다(또는 파티션이 지정되지 않은 경우 null). 이 옵션을 구성한 경우 KafkaConstants# CryostatITION_KEY보다 우선합니다. | 정수 | |
producerBatchSize (producer) | 생산자는 여러 레코드가 동일한 파티션으로 전송될 때마다 더 적은 수의 요청에 함께 레코드를 배치하려고 합니다. 이렇게 하면 클라이언트와 서버 모두에서 성능이 향상됩니다. 이 구성은 기본 배치 크기를 바이트 단위로 제어합니다. 이 크기보다 큰 배치 레코드를 배치하지 않습니다. 브로커로 전송되는 요청에는 여러 개의 배치가 포함되어 있지 않습니다. 전송할 수 있는 데이터당 하나씩 배치를 줄일 수 있습니다. 작은 배치 크기는 처리량을 줄이고 처리량을 줄일 수 있습니다(배치 크기가 0인 배치는 완전히 비활성화됨). 매우 큰 배치 크기는 추가 레코드의 예상에 지정된 배치 크기의 버퍼를 항상 할당하므로 메모리를 조금 더 무례하게 사용할 수 있습니다. | 16384 | 정수 |
queueBufferingMaxMessages (producer) | 생산자를 차단하거나 데이터를 삭제해야 하기 전에 async 모드를 사용할 때 생산자를 대기열에 추가할 수 있는 최대 unsent 메시지 수입니다. | 10000 | 정수 |
receiveBufferBytes (producer) | 데이터를 읽을 때 사용할 TCP 수신 버퍼(SO_RCVBUF)의 크기입니다. | 65536 | 정수 |
reconnectBackoffMs (producer) | 지정된 호스트에 다시 연결을 시도하기 전에 대기하는 시간입니다. 이렇게 하면 하드 루프로 호스트에 반복적으로 연결하는 것을 방지할 수 있습니다. 이 백오프는 소비자가 브로커로 보낸 모든 요청에 적용됩니다. | 50 | 정수 |
recordMetadata (producer) | 생산자가 Kafka로 전송되는 RecordMetadata 결과를 저장해야 하는지 여부입니다. 결과는 RecordMetadata 메타데이터가 포함된 목록에 저장됩니다. 이 목록은 KafkaConstants#KAFKA_RECORDMETA 키가 있는 헤더에 저장됩니다. | true | boolean |
requestRequiredAcks (producer) | 생산자가 요청 완료를 검토하기 전에 리더에게 받아야 한다는 확인의 수입니다. 이는 전송되는 레코드의 지속성을 제어합니다. 다음 설정은 일반적입니다. acks=0 0으로 설정하면 생산자가 서버의 승인을 전혀 기다리지 않습니다. 레코드는 소켓 버퍼에 즉시 추가되고 전송된 것으로 간주됩니다. 이 경우 서버가 레코드를 수신했음을 보장할 수 없으며 재시도 구성이 적용되지 않습니다(클라이언트는 일반적으로 오류를 알 수 없음). 각 레코드에 대해 다시 주어진 오프셋은 항상 -1로 설정됩니다. acks=1 이것은 리더가 로컬 로그에 레코드를 작성하지만 모든 의사의 완전한 승인을 기다리지 않고 응답한다는 것을 의미합니다. 이 경우 기록을 승인 한 직후 리더는 실패하지만, 감사자가 복제하기 전에 레코드가 손실됩니다. acks=all 이것은 리더가 전체 동기화 복제본 세트가 레코드를 승인할 때까지 대기한다는 것을 의미합니다. 이렇게 하면 하나 이상의 in-sync 복제본이 활성 상태로 유지되는 한 레코드가 손실되지 않습니다. 이는 가능한 가장 강력한 보증입니다. | 1 | 문자열 |
requestTimeoutMs (producer) | 브로커가 client에게 오류를 다시 보내기 전에 request.required.acks 요구 사항을 충족하는 것을 기다리는 시간입니다. | 305000 | 정수 |
재시도 (producer) | 값이 0보다 크면 클라이언트가 일시적인 오류와 함께 전송에 실패하는 모든 레코드를 다시 보냅니다. 이 재시도는 클라이언트가 오류를 수신할 때 레코드를 다시 요청하는 경우와 다릅니다. 재시도를 허용하면 두 개의 레코드가 단일 파티션으로 전송되고 첫 번째 레코드가 실패하고 두 번째 레코드가 먼저 표시될 수 있으므로 레코드 순서가 변경될 수 있습니다. | 0 | 정수 |
retryBackoffMs (producer) | 각 재시도 전에 생산자는 관련 항목의 메타데이터를 새로 고침하여 새 리더가 선택되었는지 확인합니다. 리더 선택에는 약간의 시간이 걸리므로 이 속성은 생산자가 메타데이터를 새로 고치기 전에 대기하는 시간을 지정합니다. | 100 | 정수 |
sendBufferBytes (producer) | 소켓 쓰기 버퍼 크기 | 131072 | 정수 |
serializerClass (producer) | 메시지에 대한 serializer 클래스입니다. | org.apache.kafka.common.serialization.StringSerializer | 문자열 |
workerpool (producer) | kafka 서버가 비동기 비차단 처리를 사용하여 KafkaProducer에서 전송된 메시지를 승인한 후 계속 라우팅 교환을 위해 사용자 지정 작업자 풀을 사용하려면 다음을 수행합니다. | ExecutorService | |
workerPoolCoreSize (producer) | kafka 서버에서 비동기 비차단 처리를 사용하여 KafkaProducer에서 전송된 메시지를 확인한 후 계속 라우팅 교환을 위한 작업자 풀의 코어 스레드 수입니다. | 10 | 정수 |
workerPoolMaxSize (producer) | kafka 서버에서 비동기 비차단 처리를 사용하여 KafkaProducer에서 전송된 메시지를 확인한 후 계속 라우팅 교환을 위한 작업자 풀에 대한 최대 스레드 수입니다. | 20 | 정수 |
동기 (고급) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
인터셉터 클래스 (monitoring) | 생산자 또는 소비자에 대한 인터셉터를 설정합니다. 생산자 인터셉터는 org.apache.kafka.clients.produccerInterceptor Consumer 인터셉터를 구현하는 클래스여야 합니다.ProducerInterceptor Consumer 인터셉터는 org.apache.kafka.clients.consumer.consumerInterceptor.ConsumerInterceptor를 사용하는 클래스여야 합니다. | 문자열 | |
kerberosBeforeReloginMin 시간 (보안) | 새로 고침 시도 사이의 로그인 스레드 수면 시간입니다. | 60000 | 정수 |
kerberosInitCmd (security) | Kerberos kinit 명령 경로입니다. 기본값은 /usr/bin/kinit입니다. | /usr/bin/kinit | 문자열 |
kerberosPrincipalToLocal 규칙 (보안) | 보안 주체 이름에서 짧은 이름(일반적으로 운영 체제 사용자 이름)으로 매핑하기 위한 규칙 목록입니다. 규칙은 순서대로 평가되며 보안 주체 이름과 일치하는 첫 번째 규칙은 짧은 이름에 매핑됩니다. 목록의 이후 규칙은 무시됩니다. 기본적으로 username/hostnameREALM 형식의 보안 주체 이름은 사용자 이름에 매핑됩니다. 형식에 대한 자세한 내용은 보안 권한 부여 및 acls를 참조하십시오. 여러 값을 쉼표로 구분할 수 있습니다. | DEFAULT | 문자열 |
kerberosRenewJitter (security) | 갱신 시간에 임의 지터의 백분율이 추가되었습니다. | 0.05 | double |
kerberosRenewWindowFactor (보안) | 로그인 스레드는 지정된 시간 요소가 마지막으로 새로 고침에서 티켓 만료로 도달할 때까지 유휴 상태가 되고 이 기간 동안 티켓을 갱신하려고 합니다. | 0.8 | double |
saslJaasConfig (보안) | kafka sasl.jaas.config 매개변수 예: org.apache.kafka.common.security.plain.PlainLoginModule 필수 username=USERNAME password=PASSWORD; | 문자열 | |
saslKerberosServiceName (보안) | Kafka가 실행되는 Kerberos 주체 이름입니다. Kafka의 JAAS config 또는 Kafka의 config에서 정의할 수 있습니다. | 문자열 | |
saslMechanism (보안) | SASL(Simple Authentication and Security Layer) 메커니즘이 사용됩니다. 유효한 값은 http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml에서 참조하십시오. | GSSAPI | 문자열 |
securityProtocol (security) | 브로커와 통신하는 데 사용되는 프로토콜입니다. 현재 PLAINTEXT 및 SSL만 지원됩니다. | 일반 텍스트 | 문자열 |
sslCipherSuites (보안) | 암호화 제품군 목록입니다. 이는 TLS 또는 SSL 네트워크 프로토콜을 사용하여 네트워크 연결에 대한 보안 설정을 협상하는 데 사용되는 인증, 암호화, MAC 및 키 교환 알고리즘의 이름이 지정된 조합입니다. 기본적으로 사용 가능한 모든 암호화 제품군이 지원됩니다. | 문자열 | |
sslContextParameters (보안) | Camel SSLContextParameters 오브젝트를 사용한 SSL 구성입니다. 구성된 경우 다른 SSL 엔드포인트 매개변수 전에 적용됩니다. | SSLContextParameters | |
sslEnabledProtocols (보안) | SSL 연결에 활성화된 프로토콜 목록입니다. TLSv1.2, TLSv1.1 및 TLSv1은 기본적으로 활성화되어 있습니다. | TLSv1.2,TLSv1.1,TLSv1 | 문자열 |
sslEndpointAlgorithm (security) | 서버 인증서를 사용하여 서버 호스트 이름을 확인하는 끝점 식별 알고리즘입니다. | 문자열 | |
sslKeymanagerAlgorithm (보안) | SSL 연결에 대해 키 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java Virtual Machine에 대해 구성된 키 관리자 팩토리 알고리즘입니다. | SunX509 | 문자열 |
sslKeyPassword (보안) | 키 저장소 파일에 있는 개인 키의 암호입니다. 클라이언트에는 선택 사항입니다. | 문자열 | |
sslKeystoreLocation (보안) | 키 저장소 파일의 위치입니다. 클라이언트의 경우 선택 사항이며 클라이언트의 양방향 인증에 사용할 수 있습니다. | 문자열 | |
sslKeystorePassword (보안) | 키 저장소 파일의 저장소 암호입니다. 이는 클라이언트에 선택 사항이며 ssl.keystore.location이 구성된 경우에만 필요합니다. | 문자열 | |
sslKeystoreType (security) | 키 저장소 파일의 파일 형식입니다. 클라이언트에는 선택 사항입니다. 기본값은 JKS입니다. | JKS | 문자열 |
SSLProtocol (보안) | SSLContext를 생성하는 데 사용되는 SSL 프로토콜입니다. 기본 설정은 TLS이며 대부분의 경우 정상입니다. 최근 JVM에서 허용되는 값은 TLS, TLSv1.1 및 TLSv1.2입니다. SSL, SSLv2 및 SSLv3은 이전 JVM에서 지원되지만 알려진 보안 취약점으로 인해 사용이 권장되지 않습니다. | TLS | 문자열 |
sslProvider (보안) | SSL 연결에 사용되는 보안 공급자의 이름입니다. 기본값은 JVM의 기본 보안 공급자입니다. | 문자열 | |
sslTrustmanagerAlgorithm (security) | SSL 연결에 대해 신뢰 관리자 팩토리에서 사용하는 알고리즘입니다. 기본값은 Java 가상 머신에 대해 구성된 신뢰 관리자 팩토리 알고리즘입니다. | PKIX | 문자열 |
sslTruststoreLocation (보안) | 신뢰 저장소 파일의 위치입니다. | 문자열 | |
sslTruststorePassword (security) | 신뢰 저장소 파일의 암호입니다. | 문자열 | |
sslTruststoreType (security) | 신뢰 저장소 파일의 파일 형식입니다. 기본값은 JKS입니다. | JKS | 문자열 |