아파치 카프카(Apache Kafka)가 메시지 영속성(persistence)을 브로커의 로컬 디스크가 아닌 아마존 S3(Amazon S3)와 같은 공유 객체 스토리지(Object Storage)에 맡기는 '디스크리스 카프카(Diskless Kafka)' 시대로 전환하고 있습니다. 이는 카프카 클라이언트 API(Application Programming Interface)는 유지하면서도, 메시지 복제와 저장 비용을 최적화하고 브로커의 확장성을 대폭 개선하려는 움직임입니다. 기존 카프카는 브로커가 파티션(partition) 데이터와 복제본 상태를 모두 소유하여, 브로커를 교체하거나 확장할 때 대규모 데이터 이동이 필수적이었습니다.
디스크리스 카프카의 핵심은 메시지 복제를 저장 서비스에 위임하여 가용 영역(Availability Zone) 간 트래픽과 저장 비용을 줄이는 것입니다. 객체 스토리지는 메시지 바이트를 보관하고, 별도의 메타데이터 계층이 메시지의 순서, 오프셋(offset), 커밋(commit) 상태를 관리합니다. 이는 기존의 계층형 스토리지(Tiered Storage)가 과거 데이터를 원격 저장소로 옮기면서도 활성 데이터는 로컬 디스크에 두는 방식과 달리, 활성 쓰기 경로 자체를 객체 스토리지로 변경하는 근본적인 변화입니다. 여러 파티션의 데이터를 묶어 하나의 객체로 저장하는 '파티션 간 배치(inter-partition batching)' 기법을 통해 객체 스토리지의 특성(불변 객체, 적은 수의 큰 객체 선호)에 맞춰 비용과 지연을 최적화합니다.
이러한 변화는 클라우드 환경에서 카프카 운영의 효율성을 극대화합니다. 브로커는 더 이상 대용량 데이터를 소유하지 않으므로, 무상태(stateless)에 가까워져 교체 및 확장이 훨씬 빨라집니다. 또한, 클라우드 사업자가 제공하는 객체 스토리지의 내구성(durability)과 복제 기능을 활용하여 카프카 자체의 복제 부담을 줄이고, 가용 영역 간 데이터 복제 트래픽 비용을 절감할 수 있습니다. 워프스트림(WarpStream), 오토MQ(AutoMQ), 레드판다(Redpanda) 등은 이미 각기 다른 방식으로 디스크리스 카프카를 구현하여 상용 서비스를 제공하고 있으며, 아파치 카프카 커뮤니티도 KIP-1150(Diskless Topics)을 승인하며 공식적인 도입을 추진하고 있습니다. 이는 카프카가 고처리량(high-throughput) 로그 및 분석 데이터 수집 시스템으로서의 입지를 더욱 공고히 하는 중요한 전환점이 될 것입니다.