סקירה כללית של ארכיטקטורות מבוססות-אירועים עם Eventarc

אתם יכולים להשתמש ב-Eventarc וב-Firestore במצב Datastore כדי ליצור ארכיטקטורות מבוססות-אירועים. ‫Firestore במצב Datastore מספק טריגרים ל-Eventarc שיוצרים אירועים משינויים בישות מסוימת במסד הנתונים. הטריגר יכול לנתב אירועים ליעד נתמך:

‫Eventarc מציע פתרון סטנדרטי לניהול הזרימה של שינויים במצב, שנקראים אירועים, בין מיקרו-שירותים (microservices) מנותקים. כשמופעלים אירועים,‏ Eventarc מנתב אותם ליעדים שונים תוך ניהול המסירה, האבטחה, ההרשאה, יכולת הצפייה וטיפול בשגיאות בשבילכם.

תרחישים לדוגמה

ארכיטקטורה מבוססת-אירועים היא דפוס עיצוב מערכת שבו שירותים מגיבים לשינויים במצב שנקראים אירועים. אתם יכולים להשתמש בדפוס הזה לצד יכולת ההתאמה של Firestore כדי להוסיף עוד תכונות לאפליקציה שלכם. לדוגמה, אתם יכולים להוסיף את היכולות הבאות:

  • יכולת פעולה הדדית בין מחסני טכנולוגיה שונים

    לשכפל את הנתונים ולהמיר אותם לפני ששולחים אותם למערכת ניתוח.

  • העברות מקבילות

    פיצול פעולות לעיבוד מקביל. אם יש לכם כמה מערכות שפועלות על סמך שינויים בישויות, אתם יכולים להשתמש בסטרימינג מבוסס-דחיפה בכל צרכן ולנתב את האירוע לכמה צרכנים.

  • מקורות נתונים של אירועים מבוססי-דחיפה

    פיתוח עיצובים של הודעות מבוססות-דחיפה. לקוחות יכולים לקבל התראות בלי לבצע סקר של שירותים מרוחקים. ללא זמן האחזור של הסקרים, תוכלו לבצע עיבוד נתונים בזמן אמת וניתוח בזמן אמת בצורה טובה יותר.

  • מעקב אחר מצב וקבלת התראות

    משתמשים בארכיטקטורה מבוססת-אירועים כדי להוסיף מדדים מותאמים אישית לפעולות במסד הנתונים. מעקב אחרי שינויים ועדכונים וקבלת התראות לגביהם. זיהוי חריגות.

מגבלות

חשוב לשים לב למגבלות הבאות לגבי טריגרים במצב Datastore ב-Eventarc:

  • אנחנו לא מתחייבים לגבי סדר ההזמנה. שינויים מהירים יכולים להפעיל אירועים בסדר לא צפוי.
  • האירועים מועברים לפחות פעם אחת.

    חשוב לוודא שגורם מטפל באירועים הוא אידמפוטנטי, כדי להימנע מתוצאות לא צפויות או מתופעות לוואי כשאירוע מועבר יותר מפעם אחת. מידע נוסף זמין במאמר בנושא יצירת פונקציות אידמפוטנטיות.

  • טריגר משויך למסד נתונים יחיד. אי אפשר ליצור טריגר שתואם לכמה מסדי נתונים.

  • מחיקה של מסד נתונים לא תגרום למחיקה אוטומטית של טריגרים במסד הנתונים הזה. הטריגר מפסיק להעביר אירועים אבל ממשיך להתקיים עד שמוחקים את הטריגר.

מיקומים של Eventarc ו-Firestore במצב Datastore

‫Eventarc לא תומך במספר אזורים לטריגרים של אירועים ב-Firestore, אבל עדיין אפשר ליצור טריגרים למסדי נתונים של Firestore במיקומים מרובי-אזורים. ‫Eventarc ממפה מיקומים מרובי-אזורים של Firestore לאזורים הבאים של Eventarc:

‫Firestore במספר אזורים אזור Eventarc
nam5 us-central1
eur3 europe-west4

אינטראופרביליות של אירועים במצב Datastore ובמצב Native

‫Eventarc תומך בטריגרים של אירועים גם במצב Datastore וגם במצב Native. הטריגרים האלה של האירועים פועלים בשני סוגי מסדי הנתונים. מסד נתונים של Firestore במצב Native יכול לקבל אירועים של Datastore, ומסד נתונים של Firestore במצב Datastore יכול לקבל אירועים של מצב Native.

יכולת פעולה הדדית של אירועים מאפשרת לשתף קוד Eventarc בין מסדי נתונים שונים של Firestore.

המרות של אירועים

אם מפעילים טריגר אירועים במצב Native על מסד נתונים במצב Datastore, ‏ Eventarc מבצע את ההמרות הבאות:

  • מרחב השמות של הישות מאוחסן במאפיין PartitionId של האירוע.
  • ישויות מוטמעות מומרות לסוגים של מצב מקורי map.

המאמרים הבאים