Cloudflare K2 - 서버리스 이벤트 스트림

2 hours ago 2

Cloudflare가 K2 공개 베타를 출시함. 생산자와 소비자를 분리하고 이벤트를 내구성 있는 순서형 로그에 저장해, 여러 소비자가 각자의 속도로 데이터를 처리할 수 있음 R2 객체 스토리지 위에 분할 로그를 구현하고 복제와 합의를 스토리지 계층에 맡김. 컴퓨팅과 스토리지를 독립적으로 확장하며 대규모 과거 데이터를 저비용으로 보관할 수 있음 배치 기반 처리로 대규모 데이터 이동과 장기 보관, 여러 소비자로의 배포를 지원하지만 메시지 단위 재시도는 지원하지 않음. 초기 버전의 생산 요청 지연은 99백분위에서 약 1초임 구독을 통해 여러 소비자가 작업을 나눠 처리하거나, 소비자마다 모든 메시지를 받도록 구성할 수 있음. 두 방식을 조합해 독립적인 소비자 풀 여러 개를 운영하는 것도 가능함 Workers Paid 구독 계정에서 베타 기간 무료로 사용할 수 있음. 현재 저장 공간은 최대 10GB, 스트림당 생산 처리량은 30MB/s로 제한됨 생산자와 소비자를 분리하는 이벤트 로그 전통적인 RPC 구조에서는 생산자와 소비자가 처리 규모와 시점에 맞춰 동작해야 함 생산자가 소비자의 처리 능력을 초과하는 데이터를 보내거나 소비자 또는 하위 서비스가 중단되면 이벤트가 유실됨 전자상거래의 거래 완료 이벤트를 분석 시스템과 부정 거래 탐지 서비스가 각각 처리하는 것처럼, 독립적인 소비자가 여럿이면 문제가 더 복잡해짐 K2는 쓰기를 받아 저장하는 중간 계층을 두고, 독립적인 소비자가 자신의 속도로 읽도록 함 Developer Platform의 완전한 서버리스 이벤트 스트리밍 기능으로, 이벤트를 순서형 로그에 저장함 대규모 데이터와 장기 보관을 지원해 소비자가 장시간 중단되더라도 데이터를 잃지 않도록 함 시작 가이드를 통해 스트림을 생성할 수 있음 엣지 환경에 맞춘 R2 기반 설계 K2는 처음에 Basin Pipelines 의 수집 계층을 위한 내구성 있는 엣지 버퍼로 개발됨 Pipelines의 스트림 처리 엔진은 풀 기반으로 동작하므로, 이벤트를 읽고 변환해 R2에 쓰기 전까지 별도 시스템이 보관해야 함 Pipelines Stream이 수락한 이벤트를 유실하지 않겠다는 보장을 지키려면 장기간에도 데이터가 사라지지 않는 저장소가 필요함 일반적으로는 Apache Kafka를 배포할 수 있지만, 335개가 넘는 도시에 걸친 Cloudflare 엣지 환경에서는 기존 분산 시스템 소프트웨어를 그대로 운영하기 어려운 경우가 많음 상태 저장...

Read Entire Article