2014-05-20 4 views
3

Apache Kafka를 많은 구독자에게 분산 메시지 게시자로 사용할 것을 고려하고 있습니다. 솔루션은 쉽게 확장 할 수 있어야하므로 나에게 가장 적합합니다.Apache Kafka 및 메시지 전달 보증

Kafka의 설명서에 따르면 메시지가 승인되어 메시지 배달을 보장 할 수 있다고 나와 있습니다. 그러나 오늘은 메시지가 손실 될 수있는 시나리오가 있음을 알리는 this article을 발견했습니다. 그렇다면 기사는 Google 캐시에서만 사용할 수 있으므로 신뢰할 수 있는지 여부를 알지 못합니다.

그래서 나는 의심의 여지가 있습니다. 어떤 시나리오에서 메시지가 손실 될 수 있습니까? 다른 말로하면 - 내 주요 요구 사항은 각 메시지 이 목적지에 도달해야한다는 것입니다. Apache Kafka를 사용하여 만날 수 있습니까? 이 직업에 적합한 도구입니까?

답변

2

카프카 복제 팩터 N있는 주제에 대한
, 우리는 로그에 최선을 다하고 메시지를 잃지 않고 N-1 서버 장애까지 허용 할 것을 주장 않습니다.

그것은 더 나은 이해

3

당신이 찾고있는 원본 글에 대한 자신의 문서 페이지에 기록 된 Message Delivery Semantics를 읽을 가치 수도 여기에 있습니다 : http://engineering.onlive.com/2013/12/12/didnt-use-kafka/

당신은 전체 기사와 의견을 읽어 보면 걱정의 대부분은 적어도 한 번 납품의 보장에 관한 것이 아니라 클라이언트에 의해 인도되어 성공적으로 처리되었음을 알 수 있습니다. 원저자를 포함하여 기사에 대한 마지막 몇 개의 댓글은 그가 접근 방식에 만족한다는 것을 나타내는 것 같습니다.

또한 관심의이 문서를 찾을 수 있습니다

- 비슷한 문제 :

https://www.mail-archive.com/users%40kafka.apache.org/msg04492.html

그리고 문서의 일부에서 : 기본적으로

그래서 효과적으로 카프카 보장에-최소 한 번 전달 을 사용하면 사용자는 메시지를 처리하기 전에 을 제작자에서 다시 시도하고 오프셋을 커밋하지 않도록 설정하여 한 번만 전달할 수 있습니다. 정확한 배송은 대상 스토리지 시스템과의 협력이 필요하지만 Kafka는 오프셋을 제공하므로이를 직접 구현할 수 있습니다.

내가 본 대화의 대부분은 적어도 한 번은 보장되지 않았지만 한 번에서 한 번 또는 정확히 한 번으로 이동하는 방법에 관한 것이 아닙니다.