Geri Dön
Cloudflare, K2'yi genel betada tanıttı: R2 üzerine kurulu serverless olay akışları
SiTech AI Team2 dk okuma

Cloudflare, K2'yi genel betada tanıttı: R2 üzerine kurulu serverless olay akışları

Cloudflare, olay akışları için serverless bir primitif olan K2'yi genel betada yayımladı. Servis, verileri R2 nesne depolaması üzerine kurulu sıralı günlükte saklar. İlk olarak Basin Pipelines için oluşturuldu ve beta döneminde ücretsizdir.

Cloudflare, 1 Ekim'de K2'nin genel betasını duyurdu. K2, geliştirici platformunda olay akışları için bir serverless primitiftir: olaylar burada sıralı günlük biçiminde saklanır, alıcılar ise okuma yükünü birkaç okuyucuya dağıtarak ya da tüm mesajları alarak yapabilir. Servis tamamen serverless'tir ve alıcının uzun süre etkin olmadığı durumlarda bile veri kaybolmaz.

K2, RPC mimarisinin sorununu çözer: orada üretici (producer) ve alıcı (consumer) ölçek ve zaman açısından eşleşmek zorundadır; alıcı geciktiğinde olaylar kaybolur. K2, arada R2 nesne depolamasında dayanıklı bir tampon oluşturur ve okuyucuların kendi hızlarında çalışmasına olanak tanır.

Nasıl çalışır

Nesne depolamasına ekleme (append) yapılamaz; bu yüzden K2 önce belleğinde toplar, ardından tüm segmenti tek bir dosyaya yazar. Sıralılık ve kesinlikle artan ofsetler, R2'nin atomik işlemleriyle ayrı bir koordinasyon servisi olmadan sağlanır. Düşük gecikme vardır: nesne depolamasına yazma yerel diske göre yavaştır; bu nedenle ilk sürümde yayın gecikmesi 99. yüzdelikte yaklaşık 1 saniyedir.

K2 başlangıçta dahili ihtiyaç için inşa edildi ve Basin Pipelines'in alım katmanı olarak tasarlandı: pull modeliyle çalışan sistemin, alınan olayları okunup R2'ye yazılmasına kadar dayanıklı şekilde saklaması gerekiyordu. Bunu normalde Apache Kafka yapar, ancak Cloudflare edge ağı 335'ten fazla şehre yayılmıştır ve klasik dağıtık sistemleri orada çalıştırmak pratikte imkânsızdır; bu yüzden ekip R2'yi seçti.

K2, Queues mu Pipelines mı?

Cloudflare'in asenkron teslimat için başka primitifleri de vardır: Queues ve Basin Pipelines. Queues, büyük kaynak veya zaman gerektiren ayrı işlerle ilgilidir; yeniden denemeleri, gecikmeleri ve başarısızlıklara ayrılmış dead-letter kuyruklarını destekler.

K2 ise yüksek ölçekli veri taşıma, uzun süreli depolama ve fan-out kullanımları içindir; mesajlar parçalara bölünerek gönderilir ve okunur, bu da verimliliği artırır. Ancak tek mesaj düzeyinde yeniden denemeler çalışmaz ve yayın gecikmesi Queues'ten daha yüksektir. Basin Pipelines, JSON olaylarını R2'ye ya da Basin Catalog'e yazan bir serverless alım servisidir. Cloudflare'in önerisine göre, sonucun nesne depolamasında veya Iceberg tablolarında olması gerekiyorsa Pipelines'ı, özelleştirilmiş işleme veya başka amaçlar için ise K2'yi seçmelisiniz.

Erişilebilirlik ve fiyatlandırma

K2, Workers Paid sürümüne sahip hesaplarda kullanılabilir; beta limitleri tek akış için maksimum 10 GB depolama ve 30 MB/s yayın hızıdır, daha yüksek limitler ayrıca isteğile sunulur. Beta süresince kullanım ücretsizdir; olası fiyatlar, gönderilen ve okunan veri başına GB başına 0,04 dolar ve aylık depolama için GB başına 0,02 dolar olarak belirlenmiştir.

Planlarda daha yüksek yazma paralelliği, anahtarlar ve bunlara dayalı sıralama garantileri, Worker'lar için push tabanlı teslimat, düşük gecikmeli Express tier ve Apache Kafka istemcileri için drop-in desteği yer alır.

SSiTech

SiTech — AI destekli web geliştirme

Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.