אם אתם משתמשים ב-Pub/Sub כדי לפרסם הודעות שמצטברות לכמות גדולה של נתונים, אתם יכולים להשתמש ב-gRPC כדי לדחוס את הנתונים ולחסוך בעלויות הרשת לפני שלקוח המפרסם שולח את בקשת הפרסום. הדחיסה ב-Pub/Sub עבור gRPC מתבצעת באמצעות האלגוריתם Gzip.
במסמך הזה מוסבר איך לדחוס הודעות שמתפרסמות בנושא.
מידע על דחיסת הודעות
יחס הדחיסה של התכונה לדחיסה בצד הלקוח ב-gRPC שונה עבור לקוחות שונים של בעלי תוכן דיגיטלי, ותלוי בגורמים הבאים:
כמות הנתונים. יחס הדחיסה משתפר כשהגודל של מטען הייעודי (payload) גדל מכמה מאות בייטים לכמה קילובייטים של נתונים. הגדרות האצווה של בקשת פרסום קובעות את כמות הנתונים שנכללת בכל בקשת פרסום. כדי לקבל את התוצאות הטובות ביותר, מומלץ להפעיל את הגדרות האצווה בשילוב עם דחיסת gRPC.
סוג הנתונים נתונים מבוססי-טקסט כמו JSON או XML ניתנים לדחיסה יותר בקלות בהשוואה לנתונים בינאריים כמו תמונות.
אם חשבון הלקוח של בעל התוכן הדיגיטלי נמצא ב- Google Cloud, אפשר להשתמש במדד Sent bytes (instance/network/sent_bytes_count) כדי למדוד את קצב העברת הנתונים של התוכן הדיגיטלי בבייטים. אם לקוח בעל אתר חדשות נמצא באפליקציה אחרת, צריך להשתמש בכלים ספציפיים ללקוח כדי לבצע את המדידה.
דוגמת הקוד בקטע הזה מציגה קטע קוד לדוגמה של ספריית לקוח ב-Java, שכולל גם דחיסה של gRPC.
לפני שמתחילים
לפני שמגדירים את תהליך העבודה של הפרסום, צריך לוודא שביצעתם את המשימות הבאות:
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לדחיסת הודעות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד פרסום הודעות ב-Pub/Sub (roles/pubsub.publisher) בנושא.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
כדי ליצור או לעדכן נושאים ומינויים, צריך הרשאות נוספות.
דחיסת הודעה
C++
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של C++ במאמר תחילת העבודה המהירה: שימוש בספריות לקוח. מידע נוסף זמין במאמרי העזרה של Pub/Sub C++ API.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי הוראות ההגדרה של Java במאמר התחלה מהירה: שימוש בספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Pub/Sub Java API.
המאמרים הבאים
כדי ללמוד איך מגדירים אפשרויות פרסום מתקדמות, אפשר לעיין במאמרים הבאים: