תקשורת בין השירותים

מזהה אזור

REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, REGION_ID.r נכלל בכתובות URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.

מידע נוסף על מזהי אזורים

אתם יכולים להשתמש בשיטות שונות כדי לתקשר בין השירותים של App Engine או עם שירותים אחרים, כולל שירותים ואפליקציות חיצוניות. Google Cloud

הדרך הכי פשוטה לתקשר עם שירות App Engine היא לשלוח בקשות HTTP ממוקדות, שכתובת ה-URL שלהן כוללת את השם או המזהה של משאב. לדוגמה, אפשר לכלול את המזהה של שירות או גרסה שרוצים לטרגט, בנוסף למזהה הפרויקט המתאים Google Cloud :


https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

שימו לב שהאורך המשולב של VERSION-dot-SERVICE-dot-PROJECT_ID, כאשר VERSION הוא שם הגרסה, SERVICE הוא שם השירות ו-PROJECT_ID הוא מזהה הפרויקט, לא יכול להיות ארוך מ-63 תווים, והוא לא יכול להתחיל או להסתיים במקף. אם האורך הכולל גדול מ-63 תווים, יכול להיות שתופיע שגיאה DNS address could not be found.

מידע נוסף על בקשות ב-App Engine:

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

כדי לשתף נתונים בין מסדי נתונים ואפליקציית App Engine או אפליקציה חיצונית אחרת, אפשר לעיין במאמר הסבר על אחסון נתונים וקבצים.

אם אתם משתמשים בחבילת השירותים מדור קודם, אתם יכולים גם להעביר בקשות בין שירותים וממשירות לנקודות קצה חיצוניות באמצעות URL Fetch API.

בנוסף, שירותים בסביבה הרגילה שנמצאים באותו פרויקטGoogle Cloud יכולים גם להשתמש באחד מממשקי ה-API של App Engine למשימות הבאות:

  • שיתוף של מופע memcache יחיד.
  • שיתוף פעולה על ידי הקצאת עבודה בין שירותים באמצעות תורי משימות.

תקשורת פרטית

תקשורת בין שירותים באותו פרויקט

אתם יכולים לאפשר לשירות רגיל של App Engine לתקשר עם שירות אחר של App Engine באותו פרויקט, בלי לחשוף את שירות היעד לאינטרנט הציבורי.

כדי לאפשר תקשורת בין שירותים באותו פרויקט:

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

    ההגדרה 'פנימי' מאפשרת בקשות רק מרשתות ה-VPC של הפרויקט. זה כולל משאבי App Engine מאפליקציית לקוח באותה רשת, כשיוצאת תעבורת נתונים שמנותבת דרך מחבר. כל התנועה האחרת מהאינטרנט או מ Google Cloud פרויקטים אחרים, כולל שירותים אחרים של App Engine, נחסמת.

    Google Cloud
  2. ניתוב התנועה דרך מחבר של חיבור לרשת (VPC) מאפליקציית serverless:

    1. לכל גרסת App Engine ששולחת תעבורה פרטית לנקודות קצה אחרות של אפליקציות, צריך לצרף את הגרסה למחבר Serverless VPC Access ששייך לאחת מהרשתות של הפרויקט, ולא לרשת VPC משותפת. Google Cloud

    2. מוודאים שהגישה הפרטית ל-Google מופעלת ברשת המשנה שבה נעשה שימוש במחבר של Serverless VPC Access.

    3. מגדירים אחת מהאפשרויות הבאות:

תקשורת בין שירותים בפרויקטים שונים

אפשר להגדיר גישה פרטית בין פרויקטים כשמפעילים אפליקציות בפרויקטים ששייכים לרשת VPC משותפת, שהוגדרה להפעלת אפליקציה שפועלת בפרויקט המארח של רשת ה-VPC המשותפת. Google Cloud

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

ב-App Engine אי אפשר להשתמש בשיטות אחרות לתקשורת בין פרויקטים באמצעות גישה פנימית.

נתיבים שמורים של כתובות URL

אי אפשר להשתמש בנתיבי כתובות ה-URL הבאים:

  • נתיבים שמסתיימים ב-/eventlog
  • נתיבים שמתחילים ב-/_ah/
  • חלק מהנתיבים מסתיימים ב-z