פונקציות ללא שרת ברשת הקצה
ל- Cloudflare חבילה שלמה של מוצרים מבוססי ענן המציעים לך "backend-as-a-service", ו- Cloudflare Workers הוא חלק חשוב מחבילה זו. עובדי Cloudflare הם פונקציות ללא שרתים, הכתובות ב- Javascript (או עדיף, Typescript) המתארחות בסביבת Node.js המופעלת על ידי מנוע V8. אתה יכול לכתוב אותם באופן מקומי ולפרוס באמצעות ה- "wrangler" -CLI או להתפתח ישירות בענן.
// This is a minimal example for a
// serverless function hosed by
// Cloudflare. You define this code
// in a JS-file and upload it via the
// 'wrangler'-CLI.
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
return new Response("Hello world")
}
אם אתה שומע על "פונקציות ללא שרתים" כאן לראשונה, הנה הסבר מהיר. פונקציות ללא שרת הן פשוטו כמשמעו פונקציות שעוטפות את ההיגיון העסקי של השירות שלך ושמארחות בענן. היתרון העיקרי הוא שאתה לא צריך לבזבז שניה אחת מזמנך על אירוח, תיקון ותחזוקת שרת בעצמך. אתה פשוט "מעלה" את הפונקציות שלך והן זמינות ברחבי העולם תוך מספר דקות.
Cloudflare מקדמת במיוחד את מהירות המוצרים שלה, מכיוון שהיא שולטת ברשת מסירת תוכן גדולה מאוד, עם נקודות קצה רבות ברחבי העולם. כמובן ש- CDN זה ממונף גם עבור עובדי Cloudflare.
כיצד להפיץ את ה- backend שלך ברחבי העולם
בכל פעם שאתה פורס את עובדי Cloudflare שלך, הם משתפים ומתעדכנים במיקומים רבים ברחבי העולם. זה מאפשר ל- Cloudflare לנתב בקשות נכנסות לנקודת הקצה הקרובה ביותר כדי להפעיל את הפונקציות ללא השרת שלך, מה שמקטין את עיכוב הרשת למספר אלפיות שניות. ניתוב זה שנעשה על ידי Cloudflare הוא שקוף בעת הגשת בקשות - הניתוב וטעינה של האיזון נעשים ברקע באופן אוטומטי.
כדי להבין טוב יותר את הטופולוגיה של הארכיטקטורה של Cloudflare Worker, הנה פירוט מרמה גבוהה לנמוכה:
כאמור, ל- Cloudflare יש CDN שמורכב משרתים רבים ברחבי מיקומים שונים בעולם
מיקום יחיד עצמו מורכב משרתים רבים שמעבדים בקשות נכנסות
מתקרב לשרת יחיד, אנו רואים כי מכונה זו מפעילה מה שנקרא "זמן ריצה של עובדים", המופעל על ידי מנוע Javascript V8
לבסוף, הפונקציה ללא שרת שלך היא רק "בידוד" אחד בתוך זמן הריצה הזה; זמן ריצה יחיד יכול לארח אלפי פונקציות בו זמנית
פיסת מידע חשובה במיוחד: לכל עובד Cloudflare שתפרוס יש זיכרון משלו, מבודד מכל תהליך אחר. זה מבטיח שהנתונים שלך באמת נגישים רק למופע שלך.
מתי להשתמש ב- Cloudflare Workers ומתי לא
עובדי Cloudflare נשמעים מאוד מרגשים ושווה בהחלט לנסות, גם אם יש לכם כבר אפליקציות הקיימות המשתמשות בפונקציות ללא שרתים מספקים אחרים. עם זאת זה עשוי גם להצביע על הסיבה העיקרית לכך שקשה יותר לאמץ את המוצר של Cloudflare: שירותים רבים, כגון Next.js בשילוב עם Vercel או Firebase על ידי גוגל מציעים גם פתרונות כאלה. אם אתה משתמש כרגע במוצרים שלהם, המעבר ל- Cloudflare לא הגיוני במיוחד.
אבל אם אתה מתחיל פרויקט חדש, כדאי מאוד לשקול להשתמש ב- Cloudflare Workers כ- backend שלך. השימוש בהם כמעט ללא הגבלה מבחינת מקרי השימוש. יתר על כן Cloudflare מציעה מגוון גדול של שירותים אחרים שעשויים פשוט להתאים לדרישות שלך.