Hacker News 의견
  • 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는 "정확히 한 번 전달"을 "읽기-처리-쓰기 작업"의 속성으로 정의함. 이는 트랜잭션으로 설명하는 것이 더 나을 것 같음

  • "트랜잭션은 일부 또는 전체를 관찰할 수 있음"이라는 문구는 "소비자는 일부 또는 전체를 관찰할 수 있음"으로 읽어야 할 것 같음

  • 이 소프트웨어는 무엇에 사용되는지 궁금함. 계측? 블랙박스?