2024.01.02 kafka 적어도 한 번...
https://ssnotebook.tistory.com/m/48
[Kafka] 멱등성/At least once/At most once/Exactly once
MSA(Micro Service Architecture)에서 EDD(Event Driven Development)를 기반으로 개발을 할 때 Kafka를 이벤트 브로커로 많이 사용하게 되고, 그와 더불어서 이슈가 되는 것이 멱등성에 관한 내용이다. 아래 글은 Ka
ssnotebook.tistory.com
https://easywritten.com/post/kafka-message-delivery-semantics/
Kafka의 Message Delivery Semantics 그리고 Exactly Once 전송 | EasyWritten
간단한 Kafka 소개 Kafka는 이벤트 스트리밍 플랫폼으로서 다양한 소스에서 생성되는 이벤트를 수집하고 적절히 처리하여 여러 사용처에 공급할 수 있습니다. 여러 분야에서 사용할 수 있지만 특
easywritten.com
kafka에서의 최소한 한번, 많아도 한번, 정확히 한 번을 구현하려면..
최소는 ack=1으로 리더가 받았는지 확인하면 될 거고
많아도 한 번은 유실 가능하니까 ack=0으로 하면 될 거다.
정확히 한 번은 프로듀서는 ack=all로 모두 저장되었는지 확인해야 하며 멱등성 설정을 켜서 중복 발행되어도 브로커에 적재되지 않도록 할 수 있을 거다.
그래도 ack 유실등이 있을 수 있으니 컨슈머도 뭔가를 해야 하는데, DB단에서 검증하던가 해야 한다.