Kafka를 대규모로 운영하는 것은 리소스 계획, 파티션 관리, 고가용성 및 스토리지 요구 사항 때문에 어렵습니다. Kafka의 설계는 단순성, 상태 비저장성 및 탄력성이라는 클라우드 네이티브 원칙과 일치하지 않습니다. 이를 해결하기 위해 내부 상태를 브로커에서 제거하고 모든 것을 외부 스토리지 백엔드로 위임하는 stateless-kafka-broker라는 실험적인 프로젝트가 시작되었습니다. 이 아키텍처는 단순하고 최소화되도록 설계되었으며, 메타데이터, 로그 및 인덱스 관리를 플러그형 외부 스토어로 분리합니다. 이러한 설계는 쉬운 수평 확장, 스토리지 백엔드 선택의 유연성, 브로커 로컬 메타데이터 또는 로그를 유지할 필요가 없다는 등의 이점을 제공합니다. 브로커 설계는 세 가지 별개의 스토어인 메타 스토어, 로그 스토어 및 인덱스 스토어로 분할되며, 각 스토어는 Rust 트레이트로 구현되어 완전히 플러그형 구현을 가능하게 합니다. 이 접근 방식은 성능 측면에서 절충점이 있지만, 단순성, 유연성 및 운영 용이성을 제공합니다. 이 프로젝트는 완전한 오픈 소스이며 새로운 백엔드를 구현하고, 프로토콜 지원을 개선하고, 성능을 최적화하고, 문서를 작성하는 데 기여를 환영합니다. 목표는 운영하기 쉽고 확장 가능한 진정한 상태 비저장, 클라우드 네이티브 Kafka 브로커를 구축하는 것입니다. 이 프로젝트는 아직 초기 단계이며 전 세계의 기여자들이 함께 참여하고 구축하기를 환영합니다.
dev.to
Beyond Traditional Kafka: Building a Stateless, Pluggable Broker
Create attached notes ...