Kafka에서 발생하는 문제를 조사하던 중, 보이지 않는 쓰기가 발견됨. 이는 지연된 Produce 메시지가 미래의 트랜잭션에 포함되어 트랜잭션 보장을 위반할 가능성을 제기함. Kafka Java Client가 요청 시간 초과 시 시퀀스 번호를 재사용할 수 있다는 의심도 있음. 더 많은 Kafka 테스트가 필요함
Jepsen이 Kafka에 대한 심층 조사를 다시 해야 할 것 같음. 마지막 조사는 2013년에 있었고, Kafka 자체에서 많은 문제를 발견할 가능성이 있음. "쓰기 확인 후 조용히 폐기" 같은 문제는 매우 심각해 보임
Bufstream의 제품 페이지를 보고 두 가지 진술이 어떻게 호환되는지 궁금함
Bufstream은 AWS 또는 GCP VPC 내에서 완전히 실행되어 데이터, 메타데이터 및 가동 시간을 완전히 제어할 수 있음. Bufstream은 절대 외부와 통신하지 않음
Bufstream의 가격은 단순함: 압축되지 않은 GiB당 $0.002 (약 $2 per TiB). 코어, 에이전트, 호출당 요금은 없음
전체 사업을 신뢰 시스템에 기반하여 운영할 것 같지는 않음
Kafka의 auto-commit 기능에 대해 놀라움을 느낌
Kafka 소비자는 실제로 처리되었는지 여부와 관계없이 오프셋을 자동으로 커밋할 수 있음. 이는 소비자가 레코드를 폴링하고 커밋한 후 충돌하면 레코드가 손실될 수 있음을 의미함
문서에 따르면, auto-commit이 활성화되면 poll 메서드가 호출될 때마다 반환된 메시지의 오프셋을 자동으로 커밋할 준비가 됨. 메시지 처리가 완료되지 않으면 충돌 시 메시지 진행이 손실될 위험이 있음
auto-commit 간격을 조정하면 중복 처리에 도움이 되지만 메시지 손실에는 도움이 되지 않음
Kafka 트랜잭션 프로토콜이 근본적으로 문제가 있으며 수정이 필요함
훌륭한 조사 작업과 작성임
Kyle이 NATS Jetstream을 검토했는지 궁금함
bufstream의 GitHub 프로젝트를 찾지 못했음. 단서가 있는지 궁금함
관련 블로그 게시물과 문서를 읽은 후, Kafka는 "정확히 한 번 전달"을 "읽기-처리-쓰기 작업"의 속성으로 정의함. 이는 트랜잭션으로 설명하는 것이 더 나을 것 같음
"트랜잭션은 일부 또는 전체를 관찰할 수 있음"이라는 문구는 "소비자는 일부 또는 전체를 관찰할 수 있음"으로 읽어야 할 것 같음
Hacker News 의견
Kafka에서 발생하는 문제를 조사하던 중, 보이지 않는 쓰기가 발견됨. 이는 지연된 Produce 메시지가 미래의 트랜잭션에 포함되어 트랜잭션 보장을 위반할 가능성을 제기함. Kafka Java Client가 요청 시간 초과 시 시퀀스 번호를 재사용할 수 있다는 의심도 있음. 더 많은 Kafka 테스트가 필요함
Bufstream의 제품 페이지를 보고 두 가지 진술이 어떻게 호환되는지 궁금함
Kafka의 auto-commit 기능에 대해 놀라움을 느낌
Kafka 트랜잭션 프로토콜이 근본적으로 문제가 있으며 수정이 필요함
Kyle이 NATS Jetstream을 검토했는지 궁금함
bufstream의 GitHub 프로젝트를 찾지 못했음. 단서가 있는지 궁금함
관련 블로그 게시물과 문서를 읽은 후, Kafka는 "정확히 한 번 전달"을 "읽기-처리-쓰기 작업"의 속성으로 정의함. 이는 트랜잭션으로 설명하는 것이 더 나을 것 같음
"트랜잭션은 일부 또는 전체를 관찰할 수 있음"이라는 문구는 "소비자는 일부 또는 전체를 관찰할 수 있음"으로 읽어야 할 것 같음
이 소프트웨어는 무엇에 사용되는지 궁금함. 계측? 블랙박스?