אפשר להשתמש ב-Cloud Tasks וב-Pub/Sub כדי להטמיע העברת הודעות ואינטגרציה אסינכרונית. למרות שהם דומים מבחינה רעיונית, כל אחד מהם מיועד לקבוצה שונה של תרחישי שימוש. בדף הזה תוכלו לבחור את המוצר המתאים לתרחיש השימוש שלכם.
ההבדלים העיקריים
ההבדל העיקרי בין Pub/Sub לבין Cloud Tasks הוא במושג של הפעלה מרומזת לעומת הפעלה מפורשת.
המטרה של Pub/Sub היא להפריד בין אפליקציות לשליחת הודעות של אירועים לבין אפליקציות רשומות לאירועים האלה. בעלי תוכן דיגיטלי לא צריכים לדעת שום דבר על המנויים שלהם. לכן, Pub/Sub לא מאפשר לבעלי תוכן דיגיטלי לשלוט במסירת ההודעות, למעט ההתחייבות למסירה. בדרך הזו, Pub/Sub תומך בהפעלה משתמעת: בעל האתר גורם למנויים לפעול באופן משתמע על ידי פרסום אירוע.
לעומת זאת, שירות Cloud Tasks מיועד להפעלה מפורשת שבה לבעל האתר יש שליטה מלאה בביצוע. בפרט, בעל תוכן דיגיטלי מציין נקודת קצה שאליה כל הודעה תימסר.
בסך הכול, Cloud Tasks מתאים לתרחישי שימוש שבהם גורם שמפיק משימות צריך לדחות או לשלוט בתזמון הביצוע של webhook ספציפי או של קריאה לפרוצדורה מרוחקת. Pub/Sub היא מערכת אופטימלית להטמעת נתונים ולחלוקה של נתוני אירועים כלליים יותר, שבהם אפשר לוותר על מידה מסוימת של שליטה בביצוע.
השוואה מפורטת בין התכונות
| תכונה | Cloud Tasks | Pub/Sub |
|---|---|---|
| שליחת נתונים באמצעות webhooks | כן | כן |
| התחייבות למסירה של הודעה אחת לפחות | כן | כן |
| ניסיונות חוזרים שניתנים להגדרה | כן | כן |
| ביטול כפילויות ביצירת משימות או הודעות | כן | לא |
| שליחה מתוזמנת | כן | לא |
| הזמנת משלוח | לא, סדר המשימות בתור נשמר כמיטב יכולתנו | כן, עם הזמנת מפתחות |
| אמצעי בקרה מפורטים של תעריפים | כן | לקוחות מנויים מסוג pull יכולים להטמיע בקרה על זרימת נתונים |
| שליפה באמצעות API | לא | כן |
| הוספה באצווה | כן | כן |
| כמה מטפלים או מנויים לכל הודעה | לא | כן |
| שמירת משימות והודעות | 31 ימים | עד 31 ימים |
| הגודל המקסימלי של משימה או הודעה | 1MB | 10MB |
| שיעור מסירה מקסימלי | 500 QPS/תור | אין מגבלה עליונה, בכפוף למכסות התפוקה האזוריות |
| זמינות גיאוגרפית | אזורי | עולמי |
| משך העיבוד המקסימלי של handler/subscriber של הודעות פוש | 30 דקות (HTTP) 10 דקות (התאמה אוטומטית לעומס ב-App Engine Standard) 24 שעות (שינוי גודל ידני או בסיסי ב-App Engine Standard) 60 דקות (App Engine Flexible) |
10 דקות לפעולות של שליחת נתונים |
| מספר התורים/המינויים | 1,000 לכל פרויקט לכל אזור, אפשר לקבל יותר באמצעות בקשה להגדלת מכסה | 10,000 לכל פרויקט |