• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

Producer의 acks 설정 관련 실습 질문

24.05.03 15:39 작성 조회수 53

0

안녕하세요 선생님 질문이 있습니다.

acks = -1 이 All이라 하셨는데

예제에서 erorr를 따로 던지지 않는 이유가 min_insync_replicas 가 기본값이 0 이라서

그냥 성공하는것인가요?

답변 2

·

답변을 작성해보세요.

0

dohyun_lim님의 프로필

dohyun_lim

질문자

2024.05.05

Producer의 acks 설정 관련 실습 강의에서

바로 이전 이론강의에서 acks 가 All 이면 client send 하는 경우에 min_insync_replica 값이 2면
2개의 replica에게 복제를 한 후에 client에게 ack 를 돌려주고

replica가 고장이라 복제를 2번 못하면 NOT_ENOUGH_REPLICAS 에러를 낸다고 하셔서

예제의 경우 acks = -1 이고 저희는 replica가 하나도 없으니 min_insync_replica가 0 이라 에러를 안내는것인가 하고 궁금했습니다.

 

min_insync_replica가 0 이라 에러를 안내는 것으로 보셔도 되지만, 그것보다는

acks=-1 이 반드시 여러개의 replica가 있지 않아도 적용이 되기 때문이니다. 한개의 broker/topic에서도 적용이 됩니다. 다만 이 경우에는 복제 topic이 없다고 보시면 됩니다.

 

감사합니다.

0

안녕하십니까,

질문을 잘 이해하지 못했습니다.

acks=-1 이면 어느 코드에서 error를 던져줘야 한다고 생각하시는 건지요?

어떤 설정으로 실습 코드를 작성하셨고, 어느 코드에서 error를 던져줘야 하는지 좀 더 자세하게 기술해 주시겠습니까?

감사합니다.