Middleware/Message Queue

Kafka 설정 - 포인트만

Cloud Applicaiton Architect 2022. 4. 24. 10:51
반응형
  • Partion 개수 >= 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은 Consumer Group 별로 관리된다.
      • 하나의 메시지를 다른 Consumer Group에서 똑같은 값을 Consume 가능, 하지만 같은 Consumer 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
        • consumer.properties와 producer.properties의 bootstrap서버 주소 변경 필요
      • (네트워크 설정 이슈로) 내/외부 클라이언트 모두 접속 가능하게 설정 해야 할 경우 - 방법 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://{공인IP}:9093
        • advertised.listeners=INTERNAL://{사설IP or 도메인}:9092,EXTERNAL://{공인IP or 도메인}:9093
반응형