2017-12-21 28 views
-1

카프카에서 일종의 이벤트 처리를 구현하려고합니다. 카프카 대기열에 이벤트를 게시하는 프로듀서가 있습니다. 또한 이벤트를 가져 와서 처리하고 처리 된 데이터를 DB에 저장하는 소비자도 있습니다. 그러나 모든 이벤트가 처리되고 완료되었는지 확인해야합니다. 대기열에서 이벤트를 가져온 후 이벤트가 예상치 않게 갑자기 중단되는 경우 어떻게해야합니까? 이 특정 이벤트가 아직 처리되지 않았다는 것을 Kafka에 어떻게 알릴 수 있습니까? 알려진 패턴이 있습니까?카프카에서 이벤트 처리 확인

답변

1

카프카 스트림 버전 0.10. *에는 "최소한 한 번"의미론이 있습니다. 모든 이벤트에 고유 한 키가있는 경우 DB를 사용하면 동일한 키에 쓰면 중복이 없으므로 "정확히 한 번 시맨틱"을 얻게됩니다.

이것이 올바른지 확인하려는 경우. 그것은 약간의 오차가 느끼는 동안 시작 카프카, 지금 당신의 DB를 중지 ,이 점점 있는지 데이터를 확인 스트림을 시작 데이터, 시작 DB를 생성, 킬 스트림, 시작 DB는 다시 그리고 당신은 볼 것이다 Kafka가 데이터를 DB에 다시 재생산합니다.

here