שימוש ב-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. בקשת שדרוג שנשלחת לנקודת קצה של שרת proxy ל-API מחזירה תגובה 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 דרך חיבור WebSockets. ה-proxy קורא לאפליקציית יעד פשוטה בקצה העורפי שנפרסת באשכול Kubernetes.