אפשר להשתמש ב-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 | כן | כן |
| התחייבות למסירה של הודעה אחת לפחות | כן | כן |
| ניסיונות חוזרים שניתנים להגדרה | כן | כן |
| ביטול כפילויות ביצירת משימות או הודעות | כן | לא |
| שליחה מתוזמנת | כן | לא |
| הזמנת משלוח | לא, סדר המשימות בתור נשמר כמיטב יכולתנו | כן, עם הזמנת מפתחות |
| אמצעי בקרה מפורשים של שיעורי המרה | כן | לקוחות של מינוי שליפה יכולים להטמיע בקרה על זרימת נתונים |
| שליפה באמצעות 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 לכל פרויקט |