2016-07-20 1 views
0

카프카 소비자의 대기열에 메시지를 다시 넣을 수 있습니까? 모범 사례는 무엇입니까?kafka가 대기열로 메시지를 되돌려도 괜찮습니까?

내 경우는 다음과 같습니다

내가 큐 메시지 A B C 후, 소비자가, 그것은, 큐가 B C와 나쁜 일이 일어나는 과정은, 그때 큐에 다시 넣을 걸릴 카프카 있습니다. 마지막 상태는 B C A입니다. 다시 시도하지 마십시오.

감사합니다.

답변

1

kafka에서 각 파티션은 메시지 순서가 immutable 순으로 정렬되어 커밋 로그에 계속 추가됩니다. It is impossible 실패한 메시지를 다시 넣고 실패한 메시지의 순서를 변경합니다 (ABC에서 BCA로).

일반적으로 소비자가 A를 사용하고 처음으로 소비 할 수 없으면 다시 시도하거나 소비자 오프셋을 수동으로 제어하고 커밋하지 않을 수 있습니다. (자세한 내용은 Manual Offset Control을 참조하십시오.)

+0

즉, A를 새로운 대기열 메시지로 삽입하는 것이 가능합니까? 그러나 Manual Offset Control reference에 감사드립니다. 나는 그것을 읽을 것이다 – Artiko

+0

네, 그렇게 할 수 있습니다. 메시지 핸들이 실패하면 새 큐 (재시도 큐)로 보내고 나중에 다시 소비합니다. –

관련 문제