Cloudflare ra mắt K2: Giải pháp Serverless Event Streams cho kiến trúc hiện đại
Cloudflare chính thức giới thiệu K2, dịch vụ event streaming serverless mới giúp tách biệt giữa nhà sản xuất và người tiêu thụ dữ liệu, hỗ trợ lưu trữ bền vững và khả năng mở rộng quy mô lớn trên hạ...
- Giọng nữ Bắc
Trong các kiến trúc Remote Procedure Call (RPC) truyền thống, thách thức lớn nhất nằm ở việc đồng bộ hóa giữa nhà sản xuất (producer) và người tiêu thụ (consumer). Nếu tốc độ gửi dữ liệu vượt quá khả năng xử lý hoặc dịch vụ hạ nguồn gặp sự cố, dữ liệu sẽ bị mất. Cloudflare vừa công bố K2, một nền tảng event streaming serverless mới, nhằm giải quyết bài toán này bằng cách tách biệt (decouple) các thành phần trong hệ thống.
Table Of Content
K2 là gì?
K2 là một primitive lưu trữ sự kiện bền vững trên nền tảng Developer Platform của Cloudflare. Dữ liệu được gửi đến K2 sẽ được lưu trữ dưới dạng log có thứ tự. Người dùng có thể đọc dữ liệu theo nhiều cách khác nhau, từ việc phân chia khối lượng công việc cho nhiều consumer đến việc phân phối toàn bộ thông điệp cho tất cả các bên. Với kiến trúc hoàn toàn serverless, K2 hỗ trợ lưu trữ dài hạn và đảm bảo không mất dữ liệu ngay cả khi consumer gặp thời gian downtime kéo dài.
Kiến trúc dựa trên R2
Thay vì sử dụng các hệ thống phức tạp như Apache Kafka vốn khó vận hành trên hạ tầng edge phân tán, Cloudflare đã xây dựng K2 dựa trên R2 object storage. Việc tận dụng R2 cho phép K2 đạt được độ bền dữ liệu cực cao và khả năng mở rộng linh hoạt. Bằng cách tách biệt giữa lớp tính toán (compute) và lớp lưu trữ (storage), K2 tối ưu hóa chi phí và hiệu suất cho các ứng dụng quy mô lớn.
Về cơ chế hoạt động, K2 tích lũy các bản ghi trong bộ nhớ tại edge trước khi ghi thành các phân đoạn (segment) vào R2. Dù phương pháp này có độ trễ ghi (produce latency) khoảng 1 giây ở mức P99, nó mang lại sự ổn định và khả năng mở rộng vượt trội so với các giải pháp lưu trữ truyền thống.
So sánh: K2, Queues và Pipelines
- Queues: Phù hợp cho các tác vụ xử lý đơn lẻ, cần logic phức tạp như retry, delay hoặc dead-letter queues.
- Basin Pipelines: Tối ưu cho việc thu thập dữ liệu và ghi trực tiếp vào object storage hoặc các bảng Iceberg.
- K2 Streams: Được thiết kế cho việc di chuyển dữ liệu quy mô lớn, lưu trữ dài hạn và mô hình fan-out (một thông điệp gửi tới nhiều consumer).
Bắt đầu với K2
Hiện tại, K2 đã có mặt dưới dạng public beta cho các tài khoản Workers trả phí. Người dùng có thể khởi tạo stream thông qua CLI (Wrangler), dashboard hoặc API. K2 xử lý dữ liệu dưới dạng byte, cho phép linh hoạt trong việc định dạng và mã hóa. Sau khi tạo stream, người dùng có thể thiết lập các subscription để quản lý việc đọc dữ liệu song song, với các cơ chế như ack (xác nhận), nack (từ chối) hoặc extend (gia hạn lease) để kiểm soát tiến trình xử lý.
Lộ trình phát triển
Trong thời gian tới, Cloudflare dự kiến sẽ bổ sung các tính năng quan trọng như:
- Tăng khả năng song song hóa ghi dữ liệu lên mức multi-GB/s.
- Hỗ trợ khóa thông điệp (message keys) và đảm bảo thứ tự dựa trên khóa.
- Hỗ trợ consumer dạng push-based.
- Tích hợp trực tiếp với các client Apache Kafka.
Trong giai đoạn beta, người dùng có thể trải nghiệm K2 mà không phát sinh chi phí, với giới hạn lưu trữ 10GB và tốc độ ghi 30 MB/s mỗi stream.
Nguồn tham khảo: Cloudflare Blog



No Comment! Be the first one.