
Cloudflare הציגה את K2 בבטא ציבורי: זרמי אירועים מבוססי serverless על R2
Cloudflare שיחררה לבטא ציבורי את K2, פרימיטיב של זרמי אירועים מבוסס serverless, המאחסן נתונים ביומן מסודר הבנוי על אחסון אובייקטים של R2. השירות נוצר במקור עבור Basin Pipelines והוא בחינם בתקופת הבטא.
Cloudflare הכריזה ב-1 באוקטובר על בטא ציבורי של K2. K2 הוא פרימיטיב של זרמי אירועים מבוסס serverless בפלטפורמת המפתחים: אירועים מאוחסנים בו כיומן מסודר, וצרכנים יכולים לקרוא אותם בחלוקה בין מספר קוראים או על ידי קבלת כל ההודעות. השירות הוא לחלוטין serverless והנתונים לא אובדים גם בזמן חוסר פעילות ממושך של הצרכן.
K2 פותר את בעיית ארכיטקטורת RPC: שם המפיץ (producer) והצרן (consumer) צריכים להתאים אחד לשני בקנה מידה ובזמן, וכאשר הצרן נשאר מאחור האירועים אובדים. K2 הוא חוצץ עמיד ביניהם על אחסון אובייקטים של R2 ומאפשר לקוראים לעבוד בקצב משלהם.
איך זה עובד
הוספת כתיבה (append) לאחסון אובייקטים אינה אפשרית, ולכן K2 אוגם תחילה בזיכרון ולאחר מכן כותב כקובץ שלם של מקטע; הסדר והאופסטים הגדלים באופן קפדני מובטחים על ידי פעולות אטומיות של R2, ללא שירות תיאום נפרד. יש עיכוב קטן: כתיבה לאחסון אובייקטים איטית יותר מכתיבה לדיסק מקומי, ולכן בגרסה הראשונית עיכוב ההוצאה בפרסנטיל 99 הוא כ-1 שנייה.
K2 נבנה במקור לצורכים פנימיים והותאם כשכבת אינגסט עבור Basin Pipelines: מערכת הפועלת על מודל pull הייתה זקוקה לאחסון עמיד של אירועים שהתקבלו עד שהם ייקראו וייכתבו ל-R2. בדרך כלל זה מה ש-Apache Kafka עושה, אבל edge של Cloudflare פרוש ביותר מ-335 ערים והפעלת מערכות מבוזרות קלאסיות שם היא מעשית בלתי אפשרית, ולכן הצוות בחר ב-R2.
K2, Queues או Pipelines?
ל-Cloudflare יש גם פרימיטיבים אחרים למסירה אסינכרונית: Queues ו-Basin Pipelines. Queues מוכוון למשימות בודדות הדורשות משאב גדול או זמן רב; הוא תומך בניסיונות חוזרים, עיכובים ותורי dead-letter המיועדים לניסיונות כושלים.
K2 לעומת זאת מיועד להעברת נתונים בקנה מידה גבוה, אחסון לטווח ארוך ושימושי fan-out; הודעות נשלחות ונקראות במקטעים, מה שמגדיל את היעילות, אך ניסיונות חוזרים ברמת הודעה בודדת לא פועלים ועיכוב ההוצאה גבוה יותר מאשר ב-Queues. Basin Pipelines הוא שירות אינגסט מבוסס serverless הכותב אירועי JSON ל-R2 או ל-Basin Catalog; להמלצת Cloudflare, יש לבחור ב-Pipelines אם התוצאה צריכה להיכנס לאחסון אובייקטים או לטבלאות Iceberg, ואילו K2 מיועד לעיבוד מותאם או למקומות יעד אחרים.
זמינות ומחירים
K2 זמין בחשבונות עם מנוי Workers Paid; מגבלות הבטא הן מקסימום 10 GB אחסון ומהירות הוצאה של 30 MB/שנייה לזרם אחד, ומגבלות גבוהות יותר יונפקו לפי בקשה נפרדת. במהלך תקופת הבטא השימוש בחינם; המחירים הצפויים הם 0.04 דולר ל-GB על נתונים שנשלחו ונקראו ו-0.02 דולר ל-GB על אחסון חודשי.
בתוכנית נכללים פרלליזם גבוה יותר בכתיבה, מפתחות וערבויות סדר המבוססות עליהם, מסירה מבוססת push עבור Workers, שכבת Express בעיכוב נמוך ותמיכת drop-in עבור לקוחות Apache Kafka.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.