2017-10-26 2 views
1

나는 소비자를 만들고 있으며 카프카 (Kafka) 주제의 모든 메시지를 읽고 그에 따라 처리하도록하고 싶습니다. 자동 커밋 기능이 매력적이지만 오프셋을 완벽하게 제어하고 싶습니다. 즉, 처리가 잘 되었다면 오프셋 만 커밋하고 싶습니다.카프카 소비자 : 자동 커밋 사용의 찬반론

그러나 자동 커밋을 false로 설정하면 단점이 있는지 잘 모르겠습니다. 자동 커밋 해제의 PRO 및 CON은 무엇입니까? 더 느리게 수행됩니까? 같은 소비자 이름을 가진 여러 소비자가이 구현에 문제가 있습니까?

답변

3

성능은 실제로 어떻게 구현하는지에 달려 있습니다. 오프셋은 동 기적으로 또는 비동기 적으로 커밋 할 수 있습니다. 오프셋이 커밋된다는 사실에 대한 확신이 얼마나 다른지에 대한 보장이 필요합니다. 일반적으로 수동으로 오프셋을 적용하지 않으면 원하는대로 원하는대로 제어 할 수 있습니다. 그러나, commitSync 또는 commitAsync과 같은 몇 가지주의 사항이 설문 조사에서 얻은 오프셋을 커밋하고 있으므로 처리 루프 중간에 커밋하고 응용 프로그램이 충돌하면 데이터가 손실됩니다.

"Kafka. The Definitive Guide"에는 커밋에 관한 큰 섹션이 있습니다. & 오프셋 - 읽기를 권한다 - Confluent는 PDF of the book for free을 배포합니다.