Eventarc מאפשר לכם לבנות ארכיטקטורות מבוססות-אירועים וארכיטקטורות מבוססות-הודעות, בלי שתצטרכו להטמיע, להתאים אישית או לתחזק את התשתית הבסיסית.
Eventarc מוצע בשתי מהדורות: Eventarc Advanced ו-Eventarc Standard. שתי המהדורות מציעות פתרון מבוסס-אירועים עם יכולת התאמה לעומס, ללא שרת (serverless) ומנוהל באופן מלא, שמאפשר לכם לנתב אירועים ממקורות ליעדים באופן אסינכרוני. מידע נוסף זמין במאמר בנושא בחירה בין Eventarc Advanced לבין Eventarc Standard.
Eventarc Advanced נועד לפשט את ההטמעה, התיאום והשליחה של נתוני אירועים באמצעות הודעות באפליקציות, בשירותים ובנקודות קצה. Eventarc Advanced מאפשר לאסוף אירועים שמתרחשים במערכת ולפרסם אותם באפיק מרכזי. שירותים שמעוניינים בכך יכולים להירשם לקבלת הודעות ספציפיות על ידי יצירת הרשמות. אפשר להשתמש באוטובוס ובצינור כדי לנתב אירועים ממקורות רבים בזמן אמת, לפרסם אותם ביעדים רבים, ובאופן אופציונלי, לשנות את האירועים לפני המסירה ליעד.
Eventarc Advanced מתאים במיוחד לארגונים עם צרכים מורכבים של אירועים והעברת הודעות, במיוחד לארגונים שמתמודדים עם ניהול של נושאי Pub/Sub רבים, תורי Kafka או מערכות העברת הודעות אחרות של צד שלישי. Eventarc Advanced מספק לאדמינים תצוגה משופרת ומרכזית ושליטה, ומאפשר לארגונים לקשר בין כמה צוותים בפרויקטים שונים.
אפשר לנהל את Eventarc Advanced דרך מסוף Google Cloud , דרך שורת הפקודה באמצעות Google Cloud CLI או באמצעות Eventarc API.
בין שירותים, אפליקציות ומערכות שונים (לחצו על התרשים כדי להגדיל).
מושגים מרכזיים
אוטובוס מספק נקודת קצה שאפשר לגלות בה אירועים, והוא נתב שמקבל את כל האירועים שספקים מפרסמים ומעביר אותם לאפס או יותר יעדים. אוטובוס מאפשר לכם לרכז, לעקוב אחרי זרימת ההודעות במערכת ולבדוק אותה. אפשר להשתמש באוטובוס כדי לנתב אירועים ממקורות רבים ליעדים רבים.
הודעות שמגיעות לאוטובוס נבדקות לפי הקריטריונים של הרשמה, שמייצגת מינוי לאירועים שנאספים על ידי אוטובוס מסוים. האירועים מנותבים לצרכנים שנרשמו לאירועים הספציפיים האלה. ההרשמה מאפשרת לכם להשתמש ב-Common Expression Language (CEL) כדי להגדיר מדיניות בקרת גישה מפורטת על ידי התאמת אירועים על סמך מאפייני האירוע. בנוסף, כשמגדירים רישום אפשר לציין את צינור עיבוד הנתונים שאליו יישלחו אירועים תואמים.
צינור הנתונים הוא מתווך המסירה בין האוטובוס ליעד. בצינור מוגדר יעד, ויש גם אפשרות להמיר אירועים שתואמים להגדרה לפני שהם מועברים ליעד. הוא מאפשר לכם לטפל במבנים שונים של אירועים באמצעות תמיכה בפורמטים שונים של מטען ייעודי (payload), ומאפשר לכם להתאים את נתוני האירועים תוך כדי תנועה בלי לשנות את שירותי המקור או היעד.
יכולות עיקריות
Eventarc Advanced תומך בתרחישי שימוש רבים עבור אפליקציות יעד. הנה כמה מהיכולות העיקריות:
שילוב אפליקציות בקנה מידה גדול: אתם יכולים לקשר בין שירותים ואפליקציות רבים, וכך לאפשר תקשורת אסינכרונית בין פורמטים וסכימות שונים של אירועים.
הזרמת אירועים ל-AI ולניתוח נתונים: אתם יכולים לטפל בזרם הנתונים ממכשירי IoT ועומסי עבודה של AI, לסנן, לשנות ולהעשיר אירועים לפני שמעבירים אותם לפייפליינים של ניתוח הנתונים.
פריסות היברידיות ומרובות עננים (multi-cloud): אתם יכולים להרחיב את הארכיטקטורות מבוססות-האירועים שלכם מעבר ל- Google Cloud, ולשלב אותן עם מערכות מקומיות ועם ספקי ענן אחרים. Eventarc Advanced מאפשר לכם לנתב אירועים ממקורות שונים, כולל מקורות של Google ומפרסמים ישירים של אירועים.
הסבר על מיקוד לפי אזורים
Eventarc Advanced הוא שירות אזורי מלא: כל התנועה והנתונים של Eventarc Advanced חייבים להיות באותו אזור. לדוגמה, הרשמות וצינורות יכולים לקרוא ולעבד נתונים רק מאותו אזור שבו נמצא האוטובוס. כדי להשיג תמיכה חוצת-אזורים, אפשר לפרסם אירועים באוטובוסים שונים באזורים שונים, ולהגדיר רשת בגבולות גזרה לשירות שמשתרע על פני כמה אזורים.
פריסות של פרויקטים
כל המשאבים של Eventarc חייבים להשתייך לפרויקט Google Cloud. עם זאת, אין דרישה שהספק (מקור האירועים), האוטובוס (האדמין) והצינור (יעד האירועים) יהיו באותו פרויקט. אפשר גם לאסוף ולפרסם אירועים ממקורות של Google בכמה פרויקטים. מידע נוסף זמין במאמר בנושא פרסום אירועים מכמה פרויקטים.
אתם יכולים להשתמש בשילוב של הרשאות לניהול זהויות והרשאות גישה (IAM) כדי לשלוט בשימוש במשאבים, בגישה מפורטת לנתונים באמצעות מדיניות גישה ו-CEL, ובגבולות שירות כדי לתמוך בדרישות של רשת ואבטחה לצרכים שונים של תעבורת נתונים נכנסת ויוצאת.
אירועים
אירוע הוא רשומה של נתונים שמבטאת התרחשות ואת ההקשר שלה, ומציינת שינוי במשאב או בסביבה. אירוע הוא יחידה נפרדת של תקשורת, שלא תלויה באירועים אחרים. לדוגמה, אירוע יכול לציין שינוי בנתונים במסד נתונים, קובץ שנוסף למערכת אחסון או משימה מתוזמנת.
שימו לב שאירוע הוא גם הודעה שנפלטת מרכיב כשהמצב שלו השתנה. כשמתרחש אירוע, ההודעה נשלחת לתשתית האירועים, שבה הצרכנים יכולים לאחזר אותה. בארכיטקטורה מבוססת-אירועים, אנחנו משתמשים במונח אירוע כדי להתייחס להודעה שמעבירה את האירוע, ולא לאירוע עצמו (מה שקרה בפועל וגרם ליצירת ההודעה).
סוגי אירועים
Eventarc Advanced תומך באירועים שמגיעים ישירות ממקור של Google.
מידע נוסף מופיע במאמר בנושא סוגי אירועים של Google שנתמכים ב-Eventarc.
ספקי אירועים ויעדים
אירועים נאספים מספקי אירועים על ידי Eventarc Advanced ומועברים ליעד אירועים. כל צינור מתקדם של Eventarc יכול לציין רק יעד אחד כמטרה להודעות שמועברות במסלול.
בין הספקים הנתמכים: ספקי Google וספקי אירועים ישירים. יעדים נתמכים כוללים Cloud Run, פונקציות Cloud Run, נקודות קצה של HTTP שמתארחות ברשת של ענן וירטואלי פרטי, Workflows ואוטובוס Eventarc Advanced אחר.
מידע נוסף זמין במאמר בנושא ספקי אירועים ויעדים.
פורמט האירוע וספריות
Eventarc מעביר אירועים, בלי קשר לספק, ליעד המטרה בפורמט CloudEvents באמצעות בקשת HTTP במצב תוכן בינארי. CloudEvents היא מפרט לתיאור מטא-נתונים של אירועים בצורה משותפת.
יעדים כמו פונקציות Cloud Run ו-Cloud Run צורכים אירועים בפורמט HTTP. במקרים של יעדים של Workflows, שירות Workflows ממיר את האירוע לאובייקט JSON ומעביר את האירוע להרצת תהליך העבודה כארגומנט בזמן הריצה.
שימוש בדרך סטנדרטית לתיאור מטא-נתונים של אירועים תומך בעקביות, בנגישות ובניידות. צרכני האירועים יכולים לקרוא את האירועים האלה ישירות, או שאתם יכולים להשתמש בספריות הלקוח של Cloud בשפות שונות (כולל C++, C#, Go, Java, Node.js, PHP, Python ו-Ruby) כדי לקרוא ולנתח את האירועים. יש גם קבוצה של CloudEvents SDKs שספציפיים לשפות מסוימות.
המבנה של גוף ה-HTTP לכל האירועים זמין במאגר Google CloudEvents ב-GitHub.
אמינות ומסירה
אין ערובה למסירה לפי סדר ההגעה. שימו לב: שמירה על סדר קפדני של ההודעות תפגע בזמינות ובאפשרויות ההתאמה של Eventarc, שדומות לאלה של שכבת התעבורה שלו, Pub/Sub. מידע נוסף מופיע במאמר בנושא הזמנת הודעות.
זמן האחזור והתפוקה הם על בסיס המאמץ הכי טוב. העלויות משתנות בהתאם למספר גורמים, כולל אם תעבורת נתונים יוצאת (egress) או תעבורת הפרסום כוללת אזורים שונים, ההגדרה של שירות מסוים ועומס הרשת על משאבים באזור Google Cloud .
חשוב לזכור שיש מכסות ומגבלות שימוש שחלות באופן כללי על Eventarc.
מדיניות ניסיון חוזר של אירועים
משך השמירה של ההודעות שמוגדר כברירת מחדל ב-Eventarc Advanced הוא 24 שעות עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).
ב-Eventarc Advanced נעשה שימוש בהשהיה מעריכית לפני ניסיון חוזר כדי לטפל בשגיאות שאפשר לנסות שוב. ההשהיה מתחילה בשנייה אחת, ומוכפלת אחרי כל ניסיון כושל (עד מקסימום של 60 שניות ו-5 ניסיונות).
מידע נוסף זמין במאמר בנושא ניסיון חוזר לשליחת אירועים.
אירועים כפולים
יכול להיות שאירועים כפולים יועברו ל-event handlers. בהתאם למפרט CloudEvents, השילוב של מאפייני source ו-id נחשב ייחודי, ולכן כל האירועים עם אותו שילוב נחשבים כפילויות.
מומלץ להטמיע מטפלי אירועים אידמפוטנטיים כשיטה מומלצת כללית.
ניראות (observability)
Google Cloud Observability מספקת כלים למעקב, לרישום ביומן ולאבחון. הכלים האלה יכולים לעזור לכם לעקוב אחרי הפעילות והצמיחה של Eventarc ולנתח אותן, וגם להבין את ההתנהגות, התקינות והביצועים של האפליקציות שלכם. מידע נוסף זמין במאמר בנושא יכולת צפייה ב-Eventarc.
יומנים מפורטים של Eventarc, Cloud Run, פונקציות Cloud Run, Pub/Sub ו-Workflows זמינים ביומני ביקורת של Cloud.
תקני תאימות
Eventarc עומד בדרישות של האישורים והתקנים האלה.