BigData

Kafka 핵심 포인트

david100gom 2020. 9. 19. 10:17
728x90

Kafka 핵심 포인트

  • Partition의 개수 >= Consumer 인스턴스의 갯수 
  • 전달 보증 - 요구사항에 따라 적절하게 조절
    • At Most Once : 재전송 유무 X, 중복 삭제 유무 X 
    • At Least Once : 재전송 유무 O, 중복 삭제 유무 X 
    • Eactly Once  : 재전송 유무 O, 중복 삭제 유무 O 
    • Offset Commit - 요구사항에 따라 적절하게 조절 
      • Auto Offset Commit
      • Manual Offset Commit
      • commitSync 
      • commitAsync
  • Offset 은 Constumer Group 별로 관리된다.
    • 하나의 메시지를 다른 Constumer Group 에서 똑같은 값을 consume 가능, 하지만, 같은 Constumer Group 내에서는 오직 한번만 가능
  • Producer 처리방식
    • 동기 
    • 비동기
  •  server.properties
    •  unclean.leader.election.enable
      • true : ISR 에서 추방되었지만, 먼저 살아나면 자동으로 리더가 된다.
      • false : 마지막 리더가 살아나기를 기다린다.
    • 내부 클라이언트에서만 접속 가능하게 설정
      • listeners=PLAINTEXT://{사설 IP}:9092
      • advertised.listeners=PLAINTEXT://{사설 IP}:9092
    • 외부 클라이언트에서만 접속 가능하게 설정
      • listeners=PLAINTEXT://0.0.0.0:9092
      • advertised.listeners=PLAINTEXT://{공인 IP}:9092
    • (네트워크 설정 이슈로) 내/외부 클라이언트 모두 접속 가능하게 설정 1
      • listeners=PLAINTEXT://0.0.0.0:9092
      • advertised.listeners=PLAINTEXT://{도메인}:9092
    • (네트워크 설정 이슈로) 내/외부 클라이언트 모두 접속 가능하게 설정 2 (프로토콜 설정 & 포트 분리)
      • listener.security.protocol.map=EXTERNAL:PLAINTEXT,INTERNAL:PLAINTEXT
      • listeners= INTERNAL://{사설 IP}:9092, EXTERNAL://0.0.0.0:9093
      • advertised.listeners= INTERNAL://{사설 IP or 도메인}::9092, EXTERNAL://{공인 IP or 도메인}:9093

참고

728x90