inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Kafka thực chiến: Nắm trọn cốt lõi một cách nhanh chóng

Thực hành 4) Commit offset thủ công

DLQ의 수동 커밋에 대해서 질문있습니다.

6

clw86799822

20 câu hỏi đã được viết

0

처리에 실패한 메시지를 DLQ로 재발행해서 별도로 재처리하는 구조를 설계한다면 굳이 수동 커밋을 유지하지 않고 enable.auto.commit=true로 바꿔도 무방한지 궁금합니다!

spring-boot kafka msa spring-kafka

Câu trả lời 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이찬원님.

Apache Kafka에서 메시지를 처리하다가 실패하여 Dead Letter Queue (DLQ)로 메시지를 보내는 구조에 대해 질문 주셨네요. Kafka의 자동 커밋과 수동 커밋을 고려할 때 중요한 점들을 살펴보겠습니다:

  1. 자동 커밋 (enable.auto.commit=true): 이 설정을 사용하면 Kafka Consumer는 주기적으로 오프셋을 자동으로 커밋합니다. 이 방식은 구현이 간단하고 보통 메시지를 잃어버릴 위험이 낮은 경우에 유용합니다. 그러나 메시지 처리 실패 상황에서는 메시지가 처리되지 않았는데도 커밋될 수 있는 문제가 있습니다.

  2. 수동 커밋: 수동 커밋을 사용하는 경우, 메시지가 정상적으로 처리되었을 때만 오프셋을 커밋하기 때문에 보다 안전한 메시지 처리 보장을 제공합니다. 따라서 메시지 처리의 신뢰성을 확보할 수 있습니다.

DLQ로 메시지를 재발행하여 별도로 처리하는 구조라면, 자동 커밋을 사용하더라도 큰 문제는 없겠지만 아래 사항을 고려해야 합니다:

  • 메시지 재처리 요구: 만약 처음 메시지 처리 시도를 더 한 번 복구하려는 경우라면, 수동 커밋이 더 적절할 수 있습니다. 그 이유는 수동 커밋을 통해 실패한 메시지에 대해 다시 시도할 수 있기 때문입니다.

  • 에러 핸들링 및 로깅: 자동 커밋을 사용할 경우, 에러 발생 시 별도로 처리 로직을 구현해 놓는 것이 중요하며, 각 경우의 로깅도 잘 관리해야 합니다.

보다 심층적인 내용이 담긴 유사한 주제의 질문과 답변을 확인해 보시길 추천드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

노션링크가 접근되지 않습니다.

0

13

1

h2 database

0

8

0

실무에서 동의어 정의 관련

0

15

2

Request DTO에서 Entity를 생성할 때 의존성 방향을 반대로 하면 어떨까요?

0

27

2

소스 코드 좀 올려주세요.

0

26

1

스프링 부트 버전 질문

0

40

2

혹시 다음 강의는 언제쯤 나올까요?

0

20

1

개념과 격벽에 대한 이해를 팀과 공유하고 합의하는 방법

1

49

2

접근 가능한 카트 목록을 조회하는 API는 없는걸까요?

1

55

2

new 패키지명.Dto명 생략가능

0

50

2

JWT토큰 발급 시, subject 값을 다양하게 넣어서 여러 개의 토큰을 만드는 이유

0

44

2

수업 자료 사이트가 또 바뀌었을까요?

0

35

1

ansible playbook 오류

0

51

2

테스트 코드 작성 시 DTO 새로 작성하는 이유가 궁금합니다.

0

44

1

leaveGroupChatRoom 문의

0

64

3

SpringBoot4 버전 Hibernate5JakartaModule 라이브러리 오류

0

44

1

aws 관련 질문드립니다.

1

55

3

spring ai에서 RAG ETL 파이프라인 성능 최적화에 대해 질문이 있습니다!

2

61

1

kubectl exec 에러가 발생해서 문의드립니다.

0

72

3

강사님 질문 있어요.

0

50

2

실습 환경 : 파이썬 3.10 관련 문의

0

51

2

setter 사용하지 않기

0

41

1

안녕하세요 토비님 혹시 완성된 코드의 repository 주소는 없을까요?

0

70

2

혹시 수업자료는 다운받을 수 있는 곳이 없나요?

1

86

2