בחירת סוג מינוי

המסמך הזה יעזור לכם לבחור את סוג המינוי המתאים ל-Pub/Sub בהתאם לדרישות העסקיות שלכם.

‫Pub/Sub מציע את סוגי המינויים הבאים:

  • מינויים מסוג pull משתמשים בלקוח של נמען כדי לבקש הודעות משרת Pub/Sub.

  • מינויים מסוג Push משתמשים בשרת Pub/Sub כדי ליזום בקשות לאפליקציית המנוי לצורך העברת הודעות.

  • ייצוא מינויים ייצוא ההודעות ישירות למשאב Google Cloud. המינויים האלה כוללים:

    • מינויים ל-BigQuery מייצאים נתונים לטבלה ב-BigQuery.

    • מינויים ל-Bigtable (גרסת Preview) ייצוא נתונים לטבלת Bigtable.

    • מינויים ל-Cloud Storage מייצאים נתונים לקטגוריה של Cloud Storage.

טבלת השוואה של מינויים ל-Pub/Sub

בטבלה הבאה מפורטות הנחיות לבחירת מנגנון ההעברה המתאים לאפליקציה:

תכונות שנתמכות במינויים ל-Pub/Sub
תרחיש שימוש שליפת מינוי
  • נפח גדול של הודעות (GB לשנייה).
  • יעילות וקצב העברת הנתונים של עיבוד ההודעות הם קריטיים.
  • סביבות שבהן אי אפשר להגדיר נקודת קצה ציבורית של HTTPS עם אישור SSL שלא נחתם בעצמו.
מינוי דחיפה
  • כמה נושאים שצריך לעבד באמצעות אותו webhook.
  • מנויים ל-App Engine Standard או ל- Cloud Run Functions.
  • סביבות שבהן אי אפשר להגדיר תלות כמו פרטי כניסה וספריית הלקוח. Google Cloud
ייצוא מינוי
  • נפח גדול של הודעות, שיכול להגיע לכמה מיליוני הודעות בשנייה.
  • שליחת הודעות ישירות ל Google Cloud משאב בלי עיבוד נוסף.
נקודות קצה שליפת מינוי כל מכשיר באינטרנט שיש לו פרטי כניסה מאומתים יכול לקרוא ל-Pub/Sub API.
מינוי דחיפה

שרת HTTPS עם אישור שלא נחתם בחתימה עצמית, שאפשר לגשת אליו באינטרנט הציבורי.

יכול להיות שנקודת הקצה המקבלת מופרדת מהמינוי ל-Pub/Sub, כך שהודעות מכמה מינויים נשלחות לנקודת קצה אחת.

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

נקודות קצה של Push יכולות להיות מאזני עומסים.

ייצוא מינוי

שירות Pub/Sub מאזן את העומס באופן אוטומטי.

הגדרות אישיות שליפת מינוי

אין צורך בהגדרה.

מינוי דחיפה
  • לא נדרשת הגדרה לאפליקציות App Engine באותו פרויקט כמו המנוי.
  • אין צורך באימות של נקודות קצה של הודעות פוש במסוף Google Cloud .
  • צריך להיות אפשר להגיע לנקודות הקצה באמצעות שמות DNS, וצריך להתקין בהן אישורי SSL.
ייצוא מינוי המשאב Google Cloud שאליו המינוי מיוצא חייב להיות קיים ומוגדר עם ההרשאות המתאימות.
בקרה על זרימת נתונים שליפת מינוי הלקוח של המנוי שולט בקצב המסירה. המנוי יכול לשנות באופן דינמי את המועד האחרון לאישור, כך שעיבוד ההודעה יכול להימשך זמן רב ככל שיידרש.
מינוי דחיפה בשרת Pub/Sub מופעל באופן אוטומטי בקרת זרימה. הלקוחות לא צריכים לטפל בזרימת ההודעות. עם זאת, אפשר לציין שהלקוח לא יכול לטפל בעומס ההודעות הנוכחי, על ידי החזרת שגיאת HTTP.
ייצוא מינוי מערכת Pub/Sub מטמיעה באופן אוטומטי בקרה על זרימת נתונים כדי לבצע אופטימיזציה של כתיבת הודעות למשאב היעד Google Cloud.
יעילות ותפוקה שליפת מינוי הוא מאפשר תפוקה גבוהה עם צריכה נמוכה של CPU ורוחב פס, על ידי אספקה, אישורים וצריכה מקבילית של קבוצות גדולות של נתונים. יכול להיות שיהיה לא יעיל אם משתמשים בסקר תכוף כדי לצמצם את זמן המסירה של ההודעה.
מינוי דחיפה שולח הודעה אחת לכל בקשה ומגביל את המספר המקסימלי של הודעות שלא נשלחו.
ייצוא מינוי מערכת Pub/Sub מטפלת בהתאמת קנה המידה באופן דינמי.

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

אם אין לכם מינוי לייצוא, אתם צריכים מינוי מסוג pull או push ומנוי (למשל Dataflow) כדי לקרוא הודעות ולכתוב אותן למשאב Google Cloud . אין צורך בתקורה של הפעלת משימת Dataflow אם ההודעות לא דורשות עיבוד נוסף לפני האחסון.

לייצוא מינויים יש את היתרונות הבאים:

  • פריסה פשוטה. אפשר להגדיר מינוי לייצוא באמצעות תהליך עבודה יחיד במסוף, ב-CLI, בספריית לקוח או ב-Pub/Sub API. Google Cloud

  • עלויות נמוכות. הפחתת העלות הנוספת וזמן האחזור של צינורות Pub/Sub דומים שכוללים משימות Dataflow. האופטימיזציה הזו של העלויות שימושית למערכות העברת הודעות שלא דורשות עיבוד נוסף לפני האחסון.

  • מעקב מינימלי. מינויי ייצוא הם חלק משירות Pub/Sub מרובה הדיירים, ולא צריך להפעיל משימות נפרדות של מעקב.

  • גמישות. ייצוא מינויים מספק תכונות שלא זמינות בתבניות Dataflow ש-Google מספקת. לדוגמה:

    • מינוי ל-BigQuery יכול להשתמש בסכימה של הנושא שאליו הוא מצורף.

    • מינוי לנפח אחסון מציע אפשרויות להגדרת אצווה של קבצים על סמך גודל הקובץ והזמן שחלף.

    • מינוי ל-Bigtable ‏(Preview) כולל אפשרות מובנית לכתיבת מטא-נתונים של הודעות למשפחת עמודות ייעודית.

עם זאת, אם האפליקציה שלכם צריכה לבצע טרנספורמציות של נתונים שלא ניתן ליישם באמצעות Single Message Transforms (SMTs), לפני כתיבת ההודעות ליעד, מומלץ להשתמש בצינור Dataflow.

כדי ללמוד איך להזרים נתונים מ-Pub/Sub ל-BigQuery עם טרנספורמציה באמצעות Dataflow, אפשר לעיין במאמר הזרמה מ-Pub/Sub ל-BigQuery.

מידע על סטרימינג של נתונים מ-Pub/Sub ל-Cloud Storage עם טרנספורמציה באמצעות Dataflow זמין במאמר סטרימינג של הודעות מ-Pub/Sub באמצעות Dataflow.

המאמרים הבאים

הסבר על תהליך העבודה לכל סוג מינוי: