inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 코어편

Producer의 전송/재전송 내부 메커니즘 및 재 전송 동작 관련 주요 파라미터의 이해

안녕하세요, at Least once 관련 질문이 있습니다!

269

코린코린

작성한 질문수 53

0

안녕하세요, 항상 좋은 강의 남겨주셔서 감사합니다.

한 가지 질문 드릴 것이 있어 글을 작성합니다

 

at least once는 적어도 한번 전송을 반드시 보장하는 것일까요?

at least once는 기본적으로 ACK가 오지 않을 경우, 재시도를 하는 방식으로 메세지를 다시 보내어서 적어도 한번 전송하는 것으로 알고 있습니다.

그런데 이것과는 독립적으로 다음 두 가지가 존재하고 있습니다.

재전송 횟수를 초과한다거나, 할당된 시간을 다 사용해버리면 TimeoutException이 발생하는 것으로 알고 있는데요... 이렇게 TimeoutException이 발생해도 '적어도 한번 전송'은 지켜질까요? 아니면 '적어도 한번 전송'이 안될 수도 있는 걸까요?

 

 

코드를 살펴보니...

즉, deilvery.timeout.ms를 초과한 메세지 배치는 전송하지 않고 버리는 것 같은데.. 맞을까요?

 

 

 

Kafka 데이터 엔지니어링

답변 1

0

권 철민

안녕하십니까,

오, 소스코드까지 열어 보셨군요.

네 맞습니다. 재전송 횟수를 초과한다거나, 할당된 시간을 다 사용해버리면 Producer객체는 TimeoutException을 발생 시켜서 호출한 java client에게 해당 Exception을 전송하고 종료합니다.

At Least Once는 Ack를 받을 때까지 Producer 객체 자체에서 계속 전송을 시도한다는 의미인지 무한히 계속 전송을 시도한다는 의미는 아닙니다. 지정된 retries나 delivery.timeout.ms 가 지나면 producer 객체 는 해당 메시지 전송 자체가 더 이상 무의미하므로 TimeOutException을 발생 시켜서 호출한 Java Client에게 전달하고 종료하는 것이 맞습니다.

감사합니다.

 

강의가 부족한 것이 아니라, 누구나 쉽게 이해할 수 있도록 매우 단순하게 설계된 것입니다.

0

22

0

소스 코드 자료를 다운을 받았는데 압축 파일에 문제가 생긴 것 같습니다.

0

674

1

application.yml args에러발생이유

3

712

1

mac os ) zip 파일 dataframe 오류

0

666

1

카프카 ISR 개념 부분 질문

0

484

1

스프링 시큐리티 문의 (webSecurityConfigurerAdapter 취소선)

0

1844

1

catalog 테이블 자동 create-drop 가 안됩니다.

0

1028

2

카프카 커넥터를 두가지 사용하는 이유

0

903

1

H2 최신 버전 사용 시 server mode 사용에 따른 application.yml 파일 설정(테이블은 생성됐는데 data.sql INSERT 안될 시 참고)

13

1275

2

멀티브로커에서 consumer 사용하기

0

633

1

멀티 브로커에서 브로커 중지되는 문제

0

507

1

클러스터 환경구성시 replication factor 1일때 메시지전송 관련 질문

0

446

1

테스트 환경 관련 질문입니다.

1

543

1

카프카 서버기동에서 질문있습니다.

0

316

1

Sticky, RoundRobin 설정

0

528

1

Consumer group 이 지정된 consumer의 auto.offset.reset

1

766

1

다음 강의 오픈 일정이 궁금합니다!

0

344

1

카프카와 주키퍼랑 통신할때는 브로커 서버의 어느 컴포넌트를 사용해 통신하나요?

0

351

1

만약에 동시에 브로커 서버가 주키퍼한테 리더를 요청하면 누가 리더가 되나요?

0

496

1

동기 Commit과 ConsumerNetworkClient의 Poll() 관련 질문드립니다!

0

347

1

하나의 컨슈머가 서로 다른 토픽을 subscribe하면

0

634

2

NameServer를 찾을 수가 없다고 합니다!

0

275

1

NoCommit의 경우 Offset을 어떻게 알고 요청을 하게 될까요?

0

508

1

virtual box 네트워크 설정 영상이 없어요.

0

279

1