WEBA

ה-WebSockets ב-Vercel הפכו לרשמיים, אל תכבו שרתים

ורסל מאפשרת לחבר תקשורת דו-כיוונית ב-Functions ולשלם רק על זמן מעבד בפועל, אך מגבלות ה-Timeout עדיין כאן ומחייבות ניהול ניתוקים מחדש.

490 מילים22 עובדות אומתו

אם החזקתם שרת Node.js עצמאי רק כדי שסוכן ה-AI באפליקציה שלכם יוכל לפלוט טוקנים בזמן אמת, כנראה ששילמתם עליו יותר מדי. אתמול, 20 באוקטובר 2026, הודיעה Vercel כי תמיכת ה-WebSocket בתוך Vercel Functions הגיעה לשלב הזמינות הכללית (GA). המהלך מגיע לאחר תקופת מבחן בגרסת public beta launched in late June, שבה נבדקה היכולת בקנה מידה רחב.

לפי ההודעה הרשמית של Vercel, רשת ה-CDN של החברה כבר העבירה מעל 300 מיליון חיבורים מאז תחילת הדרך, ומשרתת כעת כ-15 מיליון חיבורים מדי יום. ההבטחה הזאת נשמעת פשוטה: לסגור תהליכים נפרדים, לאחד קוד תחת פלטפורמת Serverless אחת ולמחוק עוד שרת שדורש עדכוני אבטחה.

זה נשמע מפתה, אבל לא הייתי ממהר לכבות שרתים קיימים.

משלמים רק כשמעבדים

השינוי המרכזי במודל החדש טמון בכיס. בשרתים ייעודיים רגילים, חיבור פתוח שאינו מעביר מידע עדיין צורך זיכרון ומחזיק תהליך חי. ורסל מיישרת קו עם תפיסת ה-Serverless ומחילה על החיבורים את מודל התמחור של Active CPU pricing. המשמעות היא שאתם משלמים אך ורק על הזמן שבו המעבד מתאמץ ומעבד הודעות שנכנסות או יוצאות, ולא על שניות ארוכות של סרק שבהן הלקוח ממתין לתשובה מהמודל.

חיבורי WebSocket כפופים לאותן מגבלות ותמחור כמו הפעלות רגילות של פונקציות. המעבד מחויב רק עבור הזמן שמוקדש לעיבוד הודעותמתוך הודעת העדכון של Vercel

התמחור הזה הופך את המעבר להגיוני במיוחד עבור צ'אטים מבוססי AI Gateway וחיבור אל realtime models, שבהם עיקר הפעילות מרוכז סביב הזרמת נתונים לסירוגין. במקום לתמחר שעות שרת קבועות עבור משתמשים שיושבים מול חלון פתוח בלי להקליד, התשלום נחתך בחדות. החברה מציינת כי לקוחות כבר משתמשים ביכולת עבור צ'אט AI, הזרמה ואפליקציות שיתופיות בזמן אמת. על הפיתוח חתומים אנשי הצוות Mark Glagola, Ethan Niser ו-Casey Gowrie.

מגבלת הזמן שנותרה בעינה

חיבורי WebSockets ב-Vercel עדיין מוגבלים לחלוטין בתקרת ה-Timeout של פונקציות Serverless, ולכן אינם מהווים תחליף ישיר לשרת קבוע. אף שהשירות יצא מבטא, בדוקומנטציה של WebSocket מובהר כי החיבורים פועלים תחת המגבלות הרגילות של Vercel Functions. בפועל, המשמעות היא תקרת ריצה מוגבלת לפי מסלול המנוי שלכם, שאינה מאפשרת חיבורים פתוחים ללא הגבלת זמן.

אם המשתמש מנהל שיחה ארוכה, החיבור ייסגר כשהפונקציה תגיע למגבלת הזמן המרבי שלה. אתם חייבים לכתוב לוגיקת Reconnect חזקה בקליינט, לצד מנגנון שחזור מצב שימנע אובדן נתונים ברגע שהניתוק היזום יתרחש. בנוסף, היות שמדובר בפונקציות Stateless שמבוזרות ברחבי העולם, הן לא יכולות לתקשר זו עם זו ישירות כדי להפיץ הודעות בין משתמשים שונים. כדי לבנות חדר צ'אט מרובה משתתפים, עדיין תצטרכו לחבר שכבת תקשורת חיצונית כמו Redis או שירות ייעודי אחר.

מי שחשב שקיבל כאן שרת Socket.io מלא בחינם, יתאכזב מהר.

מתי לעבור ומתי להישאר

ההחלטה אם לסגור את השרת תלויה באופי התעבורה שלכם. עבור יישומי צ'אט, סוכני AI, הזרמת מסמכים וטקסט בזמן אמת, המעבר ל-Vercel Functions עובד מעולה וחוסך תחזוקה שוטפת. המודל של Active CPU משתלם בדיוק במקומות שבהם התקשורת מתרחשת בפעימות ולא ברצף שאינו נגמר. לעומת זאת, אם אתם מפתחים משחקים מרובי משתתפים או מערכות שמחייבות חיבור Socket קבוע ורציף לאורך שעות ללא ניתוקים, שרת קבוע ב-Node.js נשאר הבחירה הבטוחה והנכונה, כי לוגיקת ניתוקים תכופה רק תוסיף עומס וסיבוך מיותר.

מהזווית המקומית, Vercel מפעילה שירות עולמי, אך התמחור נשאר בדולרים בלבד ודפי הניהול אינם כוללים ממשק בעברית.

השוואת התאמה ארכיטקטונית ומגבלות בין שרת ייעודי לבין WebSockets ב-Vercel Functions
פרמטרשרת ייעודי (Node.js/EC2)Vercel Functions (GA)
תמחור זמני סרקתשלום מלא וקבוע על שרת פועלחיוב על Active CPU בלבד
מגבלת משך חיבור (Timeout)ללא הגבלה (רציף)כפוף למגבלת ה-Timeout של הפונקציה לפי המסלול
תמיכה מובנית ב-Pub/Subקיימת בזיכרון המקומימחייבת שירות חיצוני לחיבור בין מופעים
התאמה לסוכני AI והזרמת מידעדורש ניהול שרת והקצאת משאביםהתאמה מלאה ללא ניהול שרת
התאמה למשחקי Realtime רציפיםגבוהה מאודנמוכה, דורשת Reconnect תכוף

מי שמחפש פתרון קסם שיבטל את הצורך בניהול ארכיטקטורה יגלה שהפיזיקה של מחשוב ענן לא השתנתה. בינתיים, החיבור נפתח, אבל שעון העצר כבר מתקתק.

מה לעשות עכשיובדקו אם לוגיקת הקליינט שלכם תומכת בניתוק וחיבור מחדש לפני שאתם מכבים את שרת ה-Node.js.

מקורות

הידיעה נכתבה מהמקורות שלמעלה בתאריך הפרסום, וכל טענה בה נבדקה מולם. מצאתם טעות? כתבו.

מה שואלים על זה

האם משלמים על חיבור WebSocket שנשאר פתוח ללא תעבורה ב-Vercel?

לא. מודל התמחור מבוסס על Active CPU, כך שהחיוב נעשה אך ורק על הזמן שבו הפונקציה מעבדת ומנתבת הודעות בפועל, ולא על זמן ההמתנה במצב סרק.

כמה זמן חיבור WebSocket רציף יכול להישאר פתוח ב-Vercel Functions?

החיבור מוגבל במגבלת ה-Timeout הרגילה של פונקציות Serverless בפלטפורמה בהתאם למסלול המנוי שלכם, ולכן אינו יכול להישאר פתוח ללא הגבלת זמן.

האם תמיכת ה-WebSockets פותרת בעצמה הפצת הודעות בין משתמשים שונים (Pub/Sub)?

לא. פונקציות Vercel הן חסרות מצב (Stateless) ופועלות באופן מבודד, ולכן הפצת הודעות במקביל בין משתמשים שונים עדיין דורשת שכבת תיאום חיצונית דוגמת Redis.