우리는 거의 1 년 동안 생산에서 LMAX Disruptor를 사용 해왔다. 지난 주까지 Disruptor에서 메시지가 떨어질 때까지 모든 것이 잘되었습니다. 우리 스럽 구조가 매우 간단합니다 :Disruptor dropped message issue
카프카 -> RingBuffer -> Eventhandler1 -> Eventhandler2 -> Eventhandler3
각 이벤트 핸들러는 모든 예외를 잡기 위해 try-catch 블록을 가지고있다. 가장 느린 이벤트 처리기 2는 각 메시지에 ~ 3 밀리 초가 걸립니다.
우리는 Kafaka에 53 개의 메시지를 보냈습니다. 모두가 Eventhandler1에 의해 처리되었습니다. 그러나 어떻게 든 Eventhandler2와 Eventhandler3에 의해 23 개의 메시지가 선택되었고 로그에는 예외가 표시되지 않았습니다.
개발 환경에서이 문제를 재현하려고했지만이 문제가 발생하지 않았습니다.
그래서 제 질문은 다음과 같습니다 스럽 메시지를 삭제하는
- 이 가능합니까?
- 예인 경우 어떤 조건에서 메시지가 삭제 될 수 있습니까?