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, לסנן, לשנות ולהעשיר אירועים לפני שמעבירים אותם לצינורות ניתוח הנתונים.
פריסות בענן היברידי ובענן מרובה עננים: אפשר להרחיב את הארכיטקטורות מבוססות-האירועים מעבר ל- Google Cloud, ולשלב אותן עם מערכות מקומיות ועם ספקי שירותי ענן אחרים. Eventarc Advanced מאפשר לכם לנתב אירועים ממקורות שונים, כולל מקורות של Google ומפרסמים ישירים של אירועים.
הסבר על מיקוד לפי אזורים
Eventarc Advanced הוא שירות אזורי מלא: כל הטראפיק והנתונים של Eventarc Advanced חייבים להיות באותו אזור. לדוגמה, מודולים וצינורות יכולים לקרוא ולעבד נתונים רק מאותו אזור שבו נמצא האוטובוס. כדי להשיג תמיכה חוצת-אזורים, אפשר לפרסם אירועים באפיקים (bus) שונים באזורים שונים, ולהגדיר רשת בגבולות גזרה לשירות שמשתרע על פני כמה אזורים.
פריסות של פרויקטים
כל המשאבים של Eventarc חייבים להשתייך לפרויקט Google Cloud. עם זאת, אין דרישה שהספק (מקור האירועים), ה-bus (האדמין) והצינור (יעד האירועים) יהיו באותו פרויקט. אפשר גם לאסוף ולפרסם אירועים ממקורות של Google בכמה פרויקטים. מידע נוסף זמין במאמר בנושא פרסום אירועים מכמה פרויקטים.
אתם יכולים להשתמש בשילוב של הרשאות לניהול זהויות והרשאות גישה (IAM) כדי לשלוט בשימוש במשאבים, בגישה מפורטת לנתונים באמצעות מדיניות גישה ו-CEL, ובגבולות שירות כדי לתמוך בדרישות של רשת ואבטחה לצרכים שונים של תעבורת נתונים נכנסת ויוצאת.
אירועים
אירוע הוא רשומה של נתונים שמבטאת התרחשות ואת ההקשר שלה, ומציינת שינוי במשאב או בסביבה. אירוע הוא יחידה נפרדת של תקשורת, שלא תלויה באירועים אחרים. לדוגמה, אירוע יכול לציין שינוי בנתונים במסד נתונים, קובץ שנוסף למערכת אחסון או משימה מתוזמנת.
שימו לב שאירוע הוא גם הודעה שנפלטת מרכיב כשהמצב שלו השתנה. כשמתרחש אירוע, ההודעה נשלחת לתשתית האירועים, שבה הצרכנים יכולים לאחזר אותה. בארכיטקטורה מבוססת-אירועים, אנחנו משתמשים במונח אירוע כדי להתייחס להודעה שמעבירה את האירוע, ולא לאירוע עצמו (מה שקרה בפועל וגרם ליצירת ההודעה).
סוגי אירועים
Eventarc Advanced תומך באירועים שמגיעים ישירות ממקור של Google.
מידע נוסף מופיע במאמר בנושא סוגי אירועים של Google שנתמכים ב-Eventarc.
ספקי אירועים ויעדים
אירועים נאספים מספקי אירועים על ידי Eventarc Advanced ומועברים ליעד אירועים. כל צינור מתקדם של Eventarc יכול לציין רק יעד אחד כמטרה להודעות שמועברות במסלול.
בין הספקים הנתמכים: ספקי Google וספקי אירועים ישירים. יעדים נתמכים כוללים את Cloud Run, פונקציות Cloud Run, נקודות קצה של HTTP שמתארחות ברשת של ענן וירטואלי פרטי, נושא Pub/Sub, 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 עומד בדרישות של האישורים והתקנים האלה.