인프라 도구

클라우드플레어 K2: 서버리스 이벤트 스트리밍 기능 소개

Cloudflare K2: serverless event streams

HNHacker News10월 1일 발표 · 3분

Cloudflare K2는 데이터 생산자와 소비자를 분리하는 서버리스 이벤트 스트리밍 서비스입니다.

왜 중요해요AI 정리

기존 시스템에서 발생하기 쉬운 데이터 손실 위험을 제거하고, 여러 백엔드가 독립적인 속도로 데이터를 처리할 수 있게 해줘요.

세 줄 요약Hacker News 원문 기반
  1. 이벤트를 순서가 보장되는 영구 로그로 저장하며, 여러 시스템이 독립적으로 데이터를 처리할 수 있는 팬아웃 기능을 제공합니다.
  2. 기존 아키텍처의 이벤트 손실 위험을 제거하여, 분석이나 사기 탐지 등 다양한 백엔드가 안정적으로 데이터를 소비하도록 돕습니다.
  3. 현재 공개 베타 단계이며, 객체 스토리지 기반 특성상 데이터 생산 시 지연 시간이 발생할 수 있으니 사용 제한을 확인해야 합니다.

기존의 RPC 아키텍처는 프로듀서와 컨슈머가 규모와 시간에 맞춰 정렬되어야 하는 근본적인 문제를 안고 있습니다. 이로 인해 서비스 가용성이 떨어지거나 데이터 전송량이 과도할 경우 이벤트 손실이 발생하기 쉽습니다. K2는 이러한 문제를 해결하기 위해 도입되었으며, 개발자 플랫폼에서 제공하는 영구적(durable) 이벤트 스트리밍 기능을 통해 프로듀서와 컨슈머를 분리합니다. 사용자는 이벤트를 K2 스트림에 전송하여 순서가 보장되는 로그로 저장할 수 있으며, 여러 시스템이 독립적인 속도로 데이터를 소비할 수 있는 팬아웃 방식을 지원합니다.

K2는 R2 객체 스토리지 위에 파티션화되고 영구적인 로그를 구현하여 대용량 데이터 처리가 가능하도록 설계되었습니다. 이 구조는 복제 및 합의 과정을 스토리지 계층에 맡김으로써 애플리케이션 레이어(K2)를 단순하고 저렴하며 고성능으로 만듭니다. 또한, 컴퓨팅과 스토리지를 분리하여 각 요소를 독립적으로 확장할 수 있으며, 이는 방대한 양의 이력 데이터를 낮은 비용으로 저장하는 데 도움을 줍니다.

K2를 사용하려면 먼저 스트림을 생성한 후, HTTP 나 Worker 바인딩을 통해 이벤트(이진 데이터)를 생산합니다. 이후 구독(Subscription)을 생성하여 컨슈머가 작업을 분할 처리하도록 설정할 수 있습니다. 컨슈머는 구독에 대해 폴링 방식으로 접근하며, 배치 단위의 이벤트를 받으면 5분간의 리스를 부여받습니다. 클라이언트는 받은 배치를 처리 완료했음을 알리는 'ack', 실패하여 재처리해야 할 경우 'nack'을 보내거나, 처리에 시간이 더 필요할 경우 'extend'를 통해 리스를 연장할 수 있습니다.

K2는 고규모 데이터 이동과 장기 보존에 중점을 둔 반면, 기존의 Queues는 개별 작업 항목(work item) 단위로 비동기 완료가 필요한 복잡한 로직(재시도, 지연 등) 처리에 적합합니다. 또한, K2는 배치 단위로 메시지를 처리하므로 메시지 레벨의 재시도는 어렵습니다. 다만, 객체 스토리지에 쓰기 작업을 하는 특성상 생산자 지연 시간(producer latency)이 발생할 수 있습니다.

용어 풀이

API
프로그램끼리 기능을 주고받는 약속된 창구. AI 모델은 보통 API로 불러 써요.
궁금한 점AI 정리 · 원문 기반
기존의 RPC 방식은 어떤 문제점이 있었어요?

프로듀서와 컨슈머가 규모나 시간에 맞춰 정렬되어야 하는 근본적인 문제가 있어서 서비스 가용성이 떨어지거나 데이터 전송량이 과도할 경우 이벤트 손실이 발생하기 쉬웠어요.

K2가 대용량 데이터 처리를 가능하게 하는 원리는 무엇인가요?

R2 객체 스토리지 위에 파티션화되고 영구적인 로그를 구현했어요. 이 구조는 컴퓨팅과 스토리지를 분리하여 각 요소를 독립적으로 확장할 수 있게 하고, 낮은 비용으로 방대한 양의 데이터를 저장하는 데 도움을 줘요.

K2 스트림을 이용해 데이터를 처리하는 과정은 어떻게 되나요?

먼저 스트림을 생성하고 HTTP API나 Worker 바인딩으로 이벤트를 생산해요. 이후 구독(Subscription)을 만들어 컨슈머가 폴링 방식으로 접근하며, 배치 단위의 이벤트를 받으면 리스를 관리하게 돼요.

원문Hacker News · Cloudflare K2: serverless event streams
궁금한 점 3개AI 정리