Kafka 완전 정복 : 클러스터 구축부터 MSA 환경 활용까지/클러스터 구축부터 MSA 환경에서 활용까지

Ch01. Kafka 설치와 설정 - Kafka 설정 꼼꼼히 들여

webmaster 2023. 4. 12. 02:29
728x90

Kafka 설정 보기

https://github.com/apache/kafka/blob/trunk/config/server.properties

 

GitHub - apache/kafka: Mirror of Apache Kafka

Mirror of Apache Kafka. Contribute to apache/kafka development by creating an account on GitHub.

github.com

https://kafka.apache.org/documentation/#configuration

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

  1. broker.id => 각 브로커마다 고유하게 가질 id
  2. listeners=PLAINTEXT://:9092, advertised.listeners=PLAINTEXT://your.host.name:9092
    • listeners: 브로커에서 참조하는 endpoint, advertised: Producer나 Cumsumer가 참조하는 endpoint
    • 내부와 외부 트래픽을 나누기 위해 이렇게 분리하였다.
    • 보안 때문에 이렇게 나누기도 했다 -> 내부 트래픽은 ssl 적용을 안 할 수 도 있다.
  3. num.network.threads=3
    • 실제 서버가 요청을 받거나 응답을 내보내는 스레드
  4. num.io.threads=8
    • 실제 서버가 클라이언트 요청을 처리할 때 사용하는 스레드
  5. socket.send.buffer.bytes=102400, socket.receive.buffer.bytes=102400, socket.request.max.bytes=104857600
    • 실제 소켓으로 보낼때의 buffer 크기를 byte 단위로 나눌 수 있다.
  6. log.dirs=/tmp/kafka-logs
    • 브로커가 데이터를 저장하는 디렉터리를 설정
  7. num.partitions=1
    • 파티션 갯수를 지정하지 않았을 때 기본적으로 사용할 파티션 수
  8. log.flush.interval.messages=10000
    • 데이터를 쓰기 전에 몇개까지 가지고 있을 것인지
  9. log.flush.interval.ms=1000
    • flush를 하기 전에 얼마나 가지고 있을 것이냐?
  10. log.retention.check.interval.ms=300000
    • retention 정책에 따라 삭제여부를 확인하기 위해 log 세그먼트를 확인하기 위한 시간
  11. auto.create.topics.enable
    • topic을 auto create 기능을 켤지 말지 
  12. compression.type
    • 'gzip', 'snappy', 'lz4', 'zstd' 4가지 압축 옵션 제공
  13. delete.topic.enables
    • topic을 삭제하는 것을 허용한다.
  14. message.max.byte
    • 브로커에서 허용할 가장 큰 메시지 크기를 지정할 수 있다.
  15. replica.lag.time.max.ms
    1. follwer가 리더한테 해당 시간 동안 리퀘스트를 보내지 않는다면 리더는 해당 follwer를 isr에서 지우게 된다.
728x90