[Kafka 이론] 9. Producer Acknowledgements (acks)

ACKS
프로듀서가 메시지를 보내고 그 메시지를 카프카가 잘 받았는지 확인을 할 것인지 또는 확인을 하지 않을 것인지를 결정하는 옵션

프로듀서 확인 & 토픽 내구성

스크린샷 2023-08-26 오후 1.56.53.png

  • 브로커들로 데이터를 전송하는 프로듀서가 있다.
  • 브로커들이 토픽과 파티션이 존재하는걸 알고 있다.
  • 프로듀서는 데이터 쓰기 확인을 받을 수도 있다.

3가지 옵션

ACKS = 0 ACKS = 1 ACKS = ALL
프로듀서가 확인을 기다리거나 요청하지 않을 것이라는 옵션으로 데이터가 유실될 수도 있다. 프로듀서가 파티션의 리더를 기다리게 된다는 의미로 리더 브로커가 확인하기를 기다리게 되면서 데이터 유실이 제한된다. 모든 레플리카, 즉 모든 ISR뿐만 아니라 리더가 쓰기를 확인하라고 요구하게 된다. 그 어떤 상황에서도 데이터가 전혀 유실되지 않는다는걸 보장한다.

토픽의 내구성이란?

만일 복제 계수가 3개인 카프카 토픽이 있고 토픽이 브로커 2개의 손실을 견딜 수 있다고 가정했을 때

스크린샷 2023-08-26 오후 2.03.46.png

  • 만일 복제 계수가 2이고 브로커가 3개라면 브로커 102를 잃었을 때에도 여전히 토픽데이터가 제공된다. 이미 다른 브로커에 리더로 지정된 데이터 즉, 원본 데이터가 남아 있기 때문이다. 반대로 리더로 지정된 데이터가 없어져도 레플리카된 데이터가 ISP에의해 레플리카가 리더가 되서 데이터 손실이 방지된다.
  • N이라는 숫자의 복제 계수를 선택하면 영구적으로 최대 N-1개의 브로커를 잃어버려도 된다. 그래도 데이터의 사본이 클러스터 안의 어딘가에 존재하기 때문이다. 중요한 카프카를 사용하는 이유와 특징이다.
LIST