בחירה בין Pub/Sub לבין Pub/Sub Lite

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

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

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

Pub/Sub Lite הוא פתרון שמבוסס על חלוקה למחיצות, שבו יש פשרה בין עומס עבודה תפעולי, זמינות גלובלית ותכונות מסוימות לבין יעילות בעלויות. ב-Pub/Sub Lite צריך להזמין ולנהל באופן ידני את קיבולת המשאבים. ב-Pub/Sub Lite, אפשר לבחור נושאי Lite אזוריים או אזוריים. נושאים אזוריים של Lite מציעים את אותו הסכם רמת שירות (SLA) לזמינות כמו נושאים של Pub/Sub.

שימו לב להבדלים ברמת המהימנות בין שני השירותים מבחינת שכפול ההודעות. ב-Pub/Sub יש תמיכה בשכפול נתונים סינכרוני, והוא משתמש בשלושה אזורים. נושאים אזוריים של Lite משכפלים נתונים לאזור משני. נושאים של Zonal Lite משכפלים נתונים רק בתחום אחד.

רשימת משימות לבדיקת דרישות העסק

השאלות הבאות יעזרו לכם לבחור את שירות ההודעות הנכון של Pub/Sub:

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

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

  • האם אתם צריכים הגנה מפני כשלים אזוריים, מוכנים לשאת בעלויות תפעול נוספות במונחים של ניהול הקיבולת של הנושא, וצריכים את העלות הנמוכה ביותר לכל נפח נתונים? שימוש בנושאי Lite אזוריים.

למידע נוסף על ההבדלים בעלויות בין Pub/Sub לבין Pub/Sub Lite, אפשר לעיין בדף תמחור.

טבלת השוואה בין תכונות

תכונה Pub/Sub Pub/Sub Lite
Access Transparency כן לא
קיבולת הקצאת הרשאות אוטומטית הקצאת הרשאות לפני השימוש
שפות של ספריות לקוח ‫Java, ‏ Python, ‏ Go, ‏ Node.js, ‏ C++‎, ‏ C#‎,‏ PHP, ‏ Ruby, ‏ SAP, ‏ ABAP Java, ‏ Python, ‏ Go
מינויים חוצי-פרויקטים כן לא
מפתחות הצפנה בניהול הלקוח כן לא
נושאים להודעות ללא מוצא כן לא
מסירה בדיוק פעם אחת כן לא
שילובים
סינון הודעות כן לגבי מאפייני ההודעה לא
שכפול הודעות כן לא
ניתוב הודעות עולמי אזורי או בכמה אזורים
אימות סכימת ההודעה כן לא
מספר אזורים באזור יחיד לא תחום יחיד או שני תחומים באזור יחיד
הזמנת משלוח סידור לפי מפתח סידור לפי מחיצות
מעקב אחר אישורי קריאה לכל הודעה סמן לכל מחיצה
תמחור תשלום לפי שימוש תשלום על הקיבולת שאתם מקצים
נקודות קצה של REST כן לא
מרחב השמות של המשאב עולמי אזורי או בכמה אזורים
תקופת שמירה עד 31 ימים ללא הגבלה
נקודות קצה של שירותים גלובלי ואזורי אזורי
אחסון ללא הגבלה ללא הגבלה
מינוי

שכפול נתונים

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

נושאים אזוריים של Pub/Sub Lite משכפלים נתונים לשני אזורים בתוך אזור. נושאים אזוריים של Pub/Sub Lite מאחסנים נתונים באזור אחד בתוך אזור. מידע נוסף על שכפול נתונים ב-Pub/Sub Lite זמין במאמר שכפול נתונים בנושא Lite.

ניתוב הודעות

גם Pub/Sub וגם Pub/Sub Lite יכולים לפרסם ולהירשם למינוי מכל האזורים, ואפילו מחוץ ל- Google Cloud.

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

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

מרחב השמות של המשאב

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

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

נושאים ומינויים אזוריים של Lite הם משאבים אזוריים. המשאבים האלה צריכים להיות באותו פרויקט בענן ובאותו אזור.

רשימת האזורים והאזורים הגיאוגרפיים שנתמכים ב-Pub/Sub Lite מופיעה במאמר מיקומים ב-Pub/Sub Lite.

ניהול קיבולת

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

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

אופני הצגה

ב-Pub/Sub יש תמיכה בכמה מצבי מסירה של הודעות. הם כוללים Pull (תשאול מסורתי), Push (HTTPS POST),‏ StreamingPull (RPC דו-כיווני, לזמן אחזור נמוך ביותר ויעילות גבוהה ביותר) ו-Pull באמצעות HTTP REST ו-gRPC.

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

מקביליות

שירות Pub/Sub משתמש במקביליות לכל הודעה. האפשרות הזו מאפשרת עיבוד מקביל של כל מספר הודעות, מלקוח אחד או מאלפי לקוחות, במינוי יחיד.

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

צינורות עיבוד נתונים בסטרימינג

גם Pub/Sub וגם Pub/Sub Lite משולבים עם Dataflow לעיבוד זרמי נתונים (stream processing) ללא שרתים (serverless) ולאינטגרציה של נתונים. ‫Pub/Sub מאפשר ל-Dataflow להתרחב בצורה גמישה יותר ותומך ב-Dataflow SQL.

כדי להתחיל להשתמש ב-Dataflow וב-Pub/Sub או ב-Pub/Sub Lite, אפשר לנסות את המדריכים הבאים: