אם אתם משתמשים ב-Pub/Sub כדי לפרסם הודעות שמכילות הרבה נתונים, אתם יכולים להשתמש ב-gRPC כדי לדחוס את הנתונים ולחסוך בעלויות הרשת לפני שלקוח בעל התוכן הדיגיטלי שולח את בקשת הפרסום. הדחיסה של Pub/Sub ל-gRPC משתמשת באלגוריתם Gzip.
במאמר הזה מוסבר איך לדחוס הודעות שפורסמו בנושא.
מידע על דחיסת הודעות
יחס הדחיסה כשמשתמשים בתכונה של דחיסה בצד הלקוח ב-gRPC משתנה בהתאם ללקוחות השונים של בעלי התוכן הדיגיטלי, והוא תלוי בגורמים הבאים:
כמות הנתונים. יחס הדחיסה משתפר ככל שגודל המטען הייעודי (payload) גדל מכמה מאות בייטים להרבה קילובייטים של נתונים. הגדרות האצווה של בקשת פרסום קובעות את כמות הנתונים שכלולה בכל בקשת פרסום. כדי לקבל את התוצאות הכי טובות, מומלץ להפעיל את הגדרות האצווה בשילוב עם דחיסת gRPC.
סוג הנתונים. נתונים מבוססי-טקסט כמו JSON או XML ניתנים לדחיסה יותר מאשר נתונים בינאריים כמו תמונות.
אם לקוח הפרסום שלכם נמצא ב- Google Cloud, אתם יכולים להשתמש במדד בייטים שנשלחו (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.
המאמרים הבאים
כדי ללמוד איך להגדיר אפשרויות פרסום מתקדמות, אפשר לעיין במאמרים הבאים: