Kafka 설정
brocker id : 브로커 인스턴스마다 고유한 값을 가짐
linteners : 브로커에서 참조하는 엔드포인트
advertised.listeners
. 컨슈머/프로듀서에서 참조하는 엔드포인트
. 설정하지 않으면 linteners에 설정된 기본값 적용
** linteners/advertised.listeners가 따로 있는 이유? 내부와 외부 트래픽을 나누기 위해
. 예를 들어 replication 트래픽은 client의 트래픽을 방해해선 안되기 때문에
. 외부 트래픽은 프록시나 로드밸런서를 타고 올 텐데, 내부 트래픽은 성능 이점 때문에 직접 브로커로 붙어도 괜찮다
. 외부 트래픽은 SSL을 적용, 내부 트래픽은 SSL을 미적용할 수 있음
num.network.threads
. 서버가 요청을 받거나 응답을 내보내는 스레드
num.io.threads
. 서버가 클라이언트의 Disk I/O같은 요청을 처리하는 스레드
socket.send.buffer.bytes
socket.receive.buffer.bytes
. 소켓 사이즈를 바이트 단위로 설정 가능
===================================================================
log.dirs
. 브로커가 데이터를 저장하는 디렉토리
num.partitions
. 파티션 개수를 지정하지 않았을 때 기본적으로 사용되는 파티션 수===================================================================
log.flush.interval.messages
. 데이터를 디스크에 쓰기 전에 몇 개 까지의 메시지를 가지고 있을 것인지 설정하는 옵션
log.flust.interval.ms
. 플러시를 하기 전에 얼마까지 적재를 할 지 시간으로 설정 (n초마다 flush)
===================================================================
log.flush.interval.ms
. 리텐션 policy에 따라서 삭제할 수 있는지 여부를 확인하기 위해 log segment를 확인하는 간격
===================================================================
auto.create.topics.enable
compression.type
. 프로듀서가 해당 타입으로 메시지를 압축해서 전송, 브로커가 그대로 디스크에 저장하고 컨슈머가 압축한 상태로 consume
delete.topic.enable
. topic을 삭제하는 것을 활성화
message.max.bytes
. 메시지 payloads 제한
replica.lag.time.max.ms
. follower가 leader한테 이 시간동안 fetch request를 보내지 않는다면, 그리고 leader의 log를 다 소모하지 않았다면
leader는 ISR에서 해당 follower를 제거
'~2022 > Apache Kafka' 카테고리의 다른 글
[Kafka] Broker, Zookeeper (0) | 2022.04.07 |
---|---|
[Kafka] Topic, Partition, Segment (0) | 2022.04.06 |
[Kafka] 기본 개념 (0) | 2022.03.16 |
[Apache Kafka] 10. 프로듀서와 컨슈머의 트랜잭션 (0) | 2021.11.11 |
[Apache Kafka] 9. 컨슈머와 컨슈머 그룹 (0) | 2021.11.11 |