שימוש ב-WebSockets

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

במאמר הזה נסביר איך להשתמש ב-WebSockets עם Apigee ו-Apigee Hybrid.

מבוא

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

‫WebSocket הוא פרוטוקול שמספק ערוץ תקשורת דו-כיווני בין לקוח אינטרנט לבין שרת אינטרנט דרך חיבור TCP יחיד. פרוטוקול WebSocket משתמש בפרוטוקול HTTP כדי ליצור את החיבור בין הלקוח לשרת. אחרי שהחיבור נוצר, הלקוח והשרת משתמשים בפרוטוקול WebSocket כדי לשלוח ולקבל נתונים.

המפרט והפרוטוקול של WebSockets מתוחזקים על ידי W3C.

תמיכה ב-WebSockets ב-Apigee

ב-Apigee וב-Apigee Hybrid, קבוצות סביבות מספקות ניתוב לסביבות ומגדירות את שמות המארחים שבהם נחשפים שרתי proxy של API. קבוצות סביבות תומכות באופן מקורי בפרוטוקולים HTTP ו-WS. לא צריך ליצור קבוצת סביבות מיוחדת או הגדרה מיוחדת כדי להשתמש ב-WebSockets.

הלקוח הוא זה שמבקש שדרוג פרוטוקול מ-HTTP ל-WS על ידי הכללת כותרת הבקשה Upgrade. כששולחים בקשת שדרוג ל-API proxy שמחובר ל-WebSocket backend תקין, היעד מחזיר תגובה 101 Switching Protocols. בקשות ותשובות נוספות מועברות באופן דו-כיווני בחיבור ה-WebSocket הפתוח, עד שהוא נסגר.

תמיכה בנושאי מדיניות

כל המדיניות תפעל בשרת proxy של שקע אינטרנט עד להשלמת הלחיצה (כלומר, עד שהתשובה HTTP 101 תוחזר ללקוח). אחרי כן, לא תופעל מדיניות, אבל טוקנים של OAuth שאומתו לפני הלחיצת יד עדיין יכובדו והחיבור ינותק כשתוקף הטוקן יפוג או כשהוא יבוטל.

ביטול החיבור

חיבורי WebSockets נסגרים במקרים הבאים:

  • נקודת הקצה של ה-proxy מקבלת בקשה ללא מפתח API או טוקן OAuth.
  • נקודת הקצה של ה-proxy מקבלת בקשה עם מפתח API או טוקן OAuth שתוקפו פג או שהם לא תקינים.
  • הזמן הקצוב לתפוגה של חיבור WebSockets מסתיים.

שימוש בניפוי באגים ובניתוח נתונים

בכלי לניפוי באגים, לכל חיבור WebSockets תופיע בקשה אחת עם סטטוס 101.

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

אפליקציית WebSockets לדוגמה

מידע נוסף אפשר למצוא באפליקציה הפועלת websocket-sample ב-GitHub. הדוגמה מראה איך לבצע קריאה לשרת proxy ל-API באמצעות חיבור WebSocket. ה-proxy קורא לאפליקציית יעד פשוטה בקצה העורפי שנפרסה באשכול Kubernetes.