Table of Contents
מה זה Event Driven Architecture ולמה זה משנה עכשיו
Event Driven Architecture (EDA) הפך אבן הפינה של עיצוב מיקרו-שירותים מודרניים.As ארגונים בקנה מידה המערכות המופצות שלהם, המודל המסורתי של בקשה-תגובה לבקשה מגיב מציג הפיכה הדוקה, כשלים מתקפלים, ומוגבלים באמצעותput. EDA פותר את הבעיות הללו על ידי העברת תקשורת לאירועים סינכרוניים - שירותים מפרסמים עובדות על מה שקרה, ושירותים אחרים מגיבים באופן עצמאי זה, תבניות ליבה, וטכנולוגיות שירות, צורך, כדי לבנות פעולות מיקרו-מספקים, ופעולות מיקרו-מסוגרים, כדי לשמור על-תנאי-תנאי-תועלתיים, ופעולות, ופעולות סטנדרטיות, הם הכרחיות, כדי לשמר פעולות.
עקרונות הליבה של אדריכלות Event Driven
תקשורת סינכרונית
שירותים לא מחכים לתגובה לאחר פרסום אירוע.המפיק מפרסם אירוע לברוקר הודעה וממשיכה מיד את העבודה שלו.האירועים בתהליך הצרכנים בקצב שלהם.התנהגות לא חוסמת זו ממקסמת באמצעות חישוב ושומרת על שירותים מגיבים גם כאשר רכיבי מטה הזרם איטיים או לא זמינים. זה גם אומר כי ספייקטים זמניים בעומס נספגים על ידי תור הברוקר, מונעים שיטפון.
« « OUT COUPING
למפיקים ולצרכנים אין ידע ישיר אחד על השני.מפיק מפרסם אירועים לנושא ללא ידע אילו שירותים צרכו אותם.צרכן חדש יכול להירשם לנושא אירוע קיים ללא שינויים במפיק.הההשמדה הזו מאפשרת לצוותים לפתח, לפרוס ולדרג שירותים באופן עצמאי.זה גם מקל על להחליף או לפרוש שירותים ישנים ללא פירוק המערכת.
אירוע Immutability
לאחר שפורסם, אירוע לא ניתן לשנות.אירועים מייצגים עובדות על אירועים קודמים - לקוח רשום, הזמנה שהוגדרה, תשלום הושלם. Immutability מספק מסלול ביקורת אמין, סימולציות debugging, ומאפשרת למאורע לחזור על התאוששות או בדיקה.זה מתאים גם באופן טבעי עם מיקור אירועים, שבו האירוע הופך למקור הסמכותי של האמת.
שקיפות אירוע
מערכות מונחות אירועים סחר בעקביות חזקה לזמינות ולסובלנות החלוקה.לאחר אירוע שפורסם, יש עיכוב לפני שכל הצרכנים לעדכן את המדינה שלהם.בקשות יש לתכנן כדי להתמודד עם אי-הסכמות זמניות.לדוגמה, אתר מסחר אלקטרוני עשוי להראות "סידור זמני" למשך כמה שניות לאחר הגשת מלאי, תשלום, ותהליך המשלוח של האירוע.
המונחים: a Event Driven system
מפיקים אירועים
מפיקים מזהים שינויים משמעותיים במצב ופרסום אירועים.הם צריכים להתמקד באירועים הקשורים לעסקים, לא בטכניקה ברמה נמוכה.במקום לפרסם "שורה מבוססת נתונים" שמעודכנת, לפרסם "כתובת הלקוח השתנתה" מפיקים זקוקים למנגנוני אספקה אמינים, כולל פיגור ומכירה מהברוקר.הם צריכים לכלול מספיק הקשר במקרה, כך שצרכנים יכולים לפעול מבלי לבצע שיחות סינכרוניות למפיק.
אירועים Consumers
צרכנים להירשם לסוגי אירוע ספציפיים ולבצע לוגיקה עסקית.אירוע אחד יכול לגרום לצרכנים מרובים - לדוגמה, אירוע "הסדר להציב" עשוי לעדכן מלאי, לשלוח הודעת דוא"ל אישור, וניתוח יומני.צרכנים חייבים להיות idempotent: עיבוד אותו אירוע פעמיים צריך להיות אותו אפקט כמו עיבוד זה פעם.זה קריטי כי רוב ברוקרים הודעות לספק משלוחים ללא תשלום, גם צריך ליישם שגיאות נכונות, טיפול בין תקלות קבועות (rerereative) עם כישלונות קבוע (rererererere) עם תקלות).
הודעה Broker / Event Bus
הברוקר יושב בין יצרנים וצרכנים, ניהול אירוע מחיקה, התמדה ומשלוח.זה מספק את מנגנון ה-subscribe לפרסום המאפשר הפיכה חופשית.
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) , ⁇ (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,הסדרות: בתוך חלוקה או נושא.
- (ב) ,0) , ⁇ : "העברה של Horizontal" (צילום: יח"צ)
- (ב) ,0) תורים של דיד-לייט: עבור טיפול במסר כושל.
נושאים וערוצים
אירועים מאורגנים לנושאים או לערוצים.אירועים הקשורים לנושאים – לדוגמה, "סדר events" או "תשלום events" (הגרנות של נושאים היא החלטה עיצובית: קוהרזה מדי וצרכנים מקבלים אירועים לא רלוונטיים רבים; בסדר גמור מדי ויש לך פיצוץ של נושאים. גישה משותפת היא למפות נושאים הקשורים להקשרים או לתחומים.
מתי להשתמש באדריכלות Event Driven לעומת בקשה-Response
EDA אינה הבחירה הנכונה לכל תרחיש. השתמש בה כאשר:
- אתה צריך דרוג עצמאי של שירותים.
- עמידות מערכת דורשת שכישלון שירות אחד לא קידש.
- יש לך מספר צרכנים עבור אותו מידע או פעולה.
- התגובה של זמן אמת לשינויים במדינה היא קריטית.
- אתה רוצה מסלול ביקורת לא מודע של כל האירועים העסקיים.
להימנע מ- EDA כאשר:
- מקרה השימוש שלך דורש עקביות חזקה מיידית (למשל, עדכוני מימון).
- יש לך זרימה פשוטה, ליניארית עם כמה שירותים.
- הצוות שלך חסר ניסיון עם מערכות סינכרוניות ועקביות בסופו של דבר.
- תגובות סינכרוניות בעלות נמוכה נדרשות לבקשות הפונה למשתמש.
מערכות רבות משתמשות בגישה היברידית: API סינכרוני עבור פעולות CRUD פשוטות ודפוסי נהיגה אירועים עבור זרמי עבודה מורכבים, אינטגרציה ותכונות בזמן אמת.
Common Driven Architecture Patterns
הודעה לאירוע
התבנית הפשוטה ביותר: אירוע קל משקל עם נתונים מינימליים (לעתים קרובות רק מזהה ואירוע סוג) מתפרסם כדי להודיע לצרכנים.צרכנים לאחר מכן לשאול את המפיק לפרטים.זה מצמצם את גודל המטען של האירוע, אך מציג הפיכה כי הצרכנים חייבים לדעת כיצד לשאול את היצרן.
העברה ממשלתית
אירועים נושאים את כל צרכני הנתונים הדרושים.כאשר הלקוח משנה את כתובתה, האירוע כולל את הכתובת החדשה המלאה.זה מבטל את הצורך בשאילתות סינכרוניות, מקטין את ההפיכה, ומשפר את ביצועי הצרכנים.המסחרוף הוא אירועים גדולים יותר ושכפול נתונים פוטנציאלי על פני שירותים.זהו התבנית הנפוצה ביותר במיקרו-שירותי אירועים מודרניים.
אירוע Sourcing
מצב המערכת נגזר מהתאם האירוע ולא מאוחסן ישירות.כל שינוי מצב הוא נספח אירוע בלתי-מוגדר.מצב הנוכחי משוחזר על ידי שחזור אירועים (בעיקר עם תמונות לביצועים) מיקור אירועים מספק ביקורת מושלמת, שאילתות זמניות, ואת היכולת לבנות מחדש מודלים קריאה.זה מוסיף סביב schema Evolution ודורש עיצוב זה זוגות זהים באופן טבעי עם CQRS.
CQRS (Command Queryאחריות סגירה)
CQRS מפריד בין כתיבה (מעודכן) וקריאה (קרי) מודלים. Commands ליצור אירועים כי הם נצרך לעדכן מודלים קריאה.זה מאפשר לך לייעל כל מודל באופן עצמאי - לדוגמה, באמצעות חנות כתיבה נורמלית מאוד בחנות קריאה מטושטשת ללא נורמלי מתאים עבור שאילתות ספציפיות. CQRS משמש לעתים קרובות עם מיקור אירועים, אבל יכול לשמש גם באופן עצמאי.
תגית: Saga
סאגות לתאם עסקאות מרובות שלבים על פני מיקרו-שירותים ללא מנעולים מבוזרים.כל צעד מפרסם אירוע הגורם לשלב הבא.אם צעד נכשל, מה שהופך את האירועים ללא ביצוע צעדים קודמים.
- (ב) כל שירות יודע מה אירוע לפרסם לאחר השלמת העסקה המקומית שלו.
- (המנהל המרכזי) שולח פקודות ושומעים לאירועים, ומכריע את הצעד הבא.
סאגות הן חיוניות להבטחת עקביות נתונים מבוזרת, ובסופו של דבר מערכות עקביות.
טכנולוגיות פופולריות לאדריכלות Event Driven
האפאצ'י קפקא
קפקא הוא פלטפורמת הזרמת המופץ המובילה לעיבוד אירועים בעלי ערך גבוה, סובלני אשמה הוא מארגן אירועים בנושאים, תומך חלוקת יכולת הסקאלה, ומספק הסדר חזק בתוך מחיצות.קקפא שומרת על אירועים לתקופה בלתי סבירה, המאפשרת הן עיבוד זרם בזמן אמת והן עיבוד מחזור היסטורי (המערכת האקולוגית כוללת קפקא סטריפ, להתחבר, וספרייה עשירה של לקוח קפקא יש למידה תלולה ודורשת מומחיות מבצעית משמעותית:0-מ"ל: 1.F למד: 1.101.
הרב-טמ-Q
הרבטמקה היא מתווך מסרים בוגר, עשיר בתכונות יישום AMQP ופרוטוקולים אחרים.זה תומך בהתרגשות גמישה באמצעות חילופי תורים וקווים, פרסום, תורי עבודה, ותכונות מתקדמות כמו חילופי מתים תורים והעדפות תורים.
אמזון EventBridge
EventBridge הוא אוטובוס אירועים ללא שרת המחבר שירותי AWS, יישומי SaaS ויישומים מותאמים אישית.זה מציע רישום סכימה, סינון אירועים, טרנספורמציה ושילוב Native עם Lambda ו-Step Functions. EventBridge דורש לא ניהול תשתיות וקשקשים באופן אוטומטי.זה אידיאלי עבור ארכיטקטורות ממוקדת של AWS, אבל ייתכן שיש עלויות גבוהות יותר ל-אפילוט בנפח גבוה מאוד.
Azure Event Hubs and Service Bus
Azure Event Hubs היא פלטפורמה גדולה של זרימת נתונים עבור ingestion טלמטרי, בדומה ל-Capek. Azure Service Bus הוא ברוקר הודעות ארגוני מנוהל במלואו עבור תורים ו-subscribe, עם תכונות כמו עסקאות, גילוי כפול, ו- Dead-lettering.
Google Cloud Pub/Sub
Pub/Sub הוא שירות שידור מנוהל לחלוטין, גלובלי עם משלוחים ב-least-once ודרגות אוטומטיות.זה תומך בדחוף ובמשיכת משלוח ושילוב עם שירותי Google Cloud.זהו בחירה מוצקה עבור ארכיטקטורות מבוססות GCP.
עיצוב אירועים עבור המערכת שלך
אירוע גרניטריות
אירועים צריכים לייצג התרחשויות עסקיות משמעותיות ברמה הנכונה של הפשטות. להימנע מאירועים טכניים כמו "שורה מבוססת נתונים" במקום, אירועים מודל סביב מושגים דומיין: "הסדר המאורגן", "הסדר שפל", "אירועים של PayPalFailed" צריכים להיות אטומיים - אירוע אחד לעסק.שלב שינויים רבים ללא קשר לאירוע יחיד יוצר הפיכה לא רצויה.
אירועים נמסים
השתמש בעבר מתוח כדי לציין משהו שכבר קרה.מנע את ההקשר התחום כדי להימנע ממביגויות: "בילינג.חשבונינר" לעומת "שילוח.חשבון".
עיצוב אירוע Schema
אירוע שמצהמה צריך לכלול מטא-נתונים סטנדרטיים:
- (ב) ויקרא י"ד: "ה'" (בראשית כ"ד)
- (ב) [15] ,ב"ה, בפרשת [[המאה ה-20]], [[1924]]
- (ב) בפרשת [[המאה ה-20]], [[1924]]
- (ב) [15] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,[[המאה ה-1]]: "[[המאה ה-20]]" (ב[[1924]]
החיוב צריך להכיל את כל צרכני הנתונים הדרושים כדי לעבד את האירוע ללא שאילתות נוספות (העברה ממשלתית) השתמש במרשם סכימה לאחסון ואכיפת schemas. בחר פורמט סידוריזציה: JSON הוא אדם קריא, בעוד Avro או Protobuf מציעים ביצועים טובים יותר ותמיכה באבולוציה.
אבולוציה של שema
אירועים הם חוזים, והם ישתנו.תוכנית לאבולוציה מההתחלה:
- מידע על גירסה בכל אירוע.
- בצע תאימות לאחור: יצרנים חדשים חייבים עדיין לעבוד עם צרכנים ישנים.
- השתמש בשדות אופציונליים לתוספות; לעולם אל תסיר או לנסח מחדש שדות.
- השתמש במרשם סכימה אשר לאכוף את חוקי תאימות במהלך פריסה.
- תמיכה בגרסאות מרובות של סכימה במהלך תקופות מעבר.
יישום הטוב ביותר
חוסר יכולת
צרכנים חייבים להתמודד עם אירועים כפולים בבטחה.אסטרטגיות כוללות:
- קובצי הזיהוי של אירועים מעובדים ומדלגים על העתקים.
- השתמש במפתחות של idempotency טבעיים מהתחום העסקי (לדוגמה, מספר ההזמנה).
- פעולות עיצוב להיות idempotent (הציג ערכים מוחלטים במקום לצבור).
טעויות ובקשות
שגיאות טרנספורמטיביות (network Timeouts, שירות זמני ללא זמינות) משגיאות קבועות (הנתונים הלא חוקיים, schema mismatch) השתמש בגיבוי אקספוננציאלי עם Jitter for Retries.לאחר מספר מקסימלי של רטיבות, לשלוח את האירוע ל תור מת-לטר עבור פיקוח ידני.
אירוע הזמנה
הזמנה גלובלית היא יקרה ולעתים קרובות מיותרת. השתמש במקשי מחיצה (למשל, מזהה לקוחות, תעודת זהות הזמנה) כדי להצמיד אירועים הקשורים לאותה החלוקה, להבטיח סדר בהקשר זה בלבד לאכוף סדר קפדני שבו ההיגיון העסקי תלוי בו, כפי שהוא מגביל את יכולת הסקאלה.
מעקב ושקיפות
מעקב אחר מדדים מרכזיים: שיעור פרסום אירועים, מתג צרכנים, זמן עיבוד, שיעור שגיאות, עומק תור מת-לרע. השתמש בסבבים מבוזרים עם תעודות זהות תואמים כדי לעקוב אחר אירועים ברחבי השירותים. להגדיר התראות עבור אנומליות כמו ירידה פתאומית בנפח האירוע או הגדלת lag הצרכנים. צור לוחות נתונים המספקים תצוגה בזמן אמת של בריאות אירוע.
אבטחה
אירועים עשויים להכיל נתונים רגישים.אימות יישום ואישור לפרסום והשתתפות באירועים הצפנה במעבר (TLS) ובמנוחה. השתמש במטח רשת כדי לבודד את הברוקר.ביקורת על גישה לזרמים אירועים וליישם מדיניות של שמירת נתונים לדרישות תאימות. שקול להצפין שדות רגישים בתוך עומסי תשלום אירועים.
אתגרים ופתרונות
המונחים: Distributed Flows
ללא ערימה של שיחה אחת, זרימת אירוע עובר קשה. השתמש מזהה קורלציה בכל האירועים והלוגים. יישום כלים מבוזרים כמו Jaeger או Zipkin. לשמור על אירוע יומן חיפוש עבור שחזור רצפים היסטוריים. בנה יכולות לשחק אירועים לשחזר בעיות בסביבות מבחן.
אירועים Storms
סערה מתרחשת כאשר אירועים גורמים לאירועים מפגעים, עשויים ליצור לולאות אינסופיות או להציף את המערכת.
- תכנון אירועים שהם מספיק שלמים, כך שהצרכנים לא צריכים לפרסם עוד אירועים לאיסוף מידע.
- קביעת גבולות החזר מקסימליים.
- החלפת מעגל
- מעקב אחר נפח האירוע ואזהרות על דפוסים יוצאי דופן.
בדיקות Asynchronous Systems
מערכות מונחות אירועים דורשות גישות שונות:
- (ב) ,0) בדיקות לאייט (Unit TestingFLT:1: Mock the Broke, עיין ב-Services מפרסם/consume Events כראוי.
- (ב) ,0) בדיקות אינטגרציה (FLT:1: השתמש במכלי מבחן (למשל, רכזי מבחן לקקפא או הרבטמק'ה) כדי לאמת את זרימת האירוע בפועל.
- (ב) ,0) בדיקות מבחנים (FLT:1): להבטיח יצרנים וצרכנים מסכימים על צ'אשמה.
- (ב) [15] ,(א) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
להתחיל עם Event Driven Architecture
1.הזהה את האירועים שלך
הפעל סדנאות סוערות עם מומחי דומיין.זהה אירועים המייצגים אירועים עסקיים משמעותיים.התחל עם תת-קבוצה קטנה ומוגדרת היטב - לדוגמה, "סדר" ו"תשלום קבלת" מסמך כל אירוע: מטרה, תשלום, מפיק וצרכנים.
בחרו את הברוקר שלכם
עבור צוותים חדשים ל- EDA, לשקול שירות מנוהל כמו אמזון EventBridge או Google Cloud Pub/Sub כדי להפחית את פני השטח התפעולי.אם אתה צריך גבוה דרך לוח אירועים replay, בחר קפקא למרות המורכבות שלו. עבור מקרים פשוטים יותר, הרבטמק הוא נקודת התחלה מוצק.חשב המומחיות והתשתית הקיימת של הצוות שלך.
אירוע עיצוב Schemas
יצירת שדות metadata סטנדרטיים.עיצוב תשלום באמצעות העברת המדינה המשוגרת לאירוע.בחר פורמט סידוריזציה (JSON forפשטות, Avro/Protobuf לייצור) הגדר רישום סכימה אם אפשר.ייסד שם מוסכמות ומדיניות האבולוציה.
4. יישום ומבחן
התחל עם מפיק יחיד ו אחד או שניים צרכנים. אי-אפשרות יישום, טיפול בשגיאות, ו ניטור מיום אחד. השתמש בספריות הלקוח של הברוקר. לכתוב בדיקות אינטגרציה עם מיכלי בדיקה. הגדר לוחות נתונים עבור lag הצרכן ושיעורי השגיאה.
5.Iterate and Document
להרחיב את המקרים השימוש בהדרגה.ג'ר משוב מפיתוח ותפעול. לשמור על קטלוג אירועים עם סמכמות ומידע צרכני. Document Architect Decision.ספק הכשרה לצוות שלך על דפוסים סינכרוניים ועקביות בסופו של דבר.
מקרים אמיתיים לשימוש
עיבוד E-Commerce
כאשר לקוח מציב הזמנה, אירוע "הזמנה" מעורר מספר שירותים עצמאיים: הזמנת מלאי, עיבוד תשלום, תזמון משלוח והודעה.אם התשלום נכשל, אירוע מאגד משחרר את המלאי.כל שירות בקנה מידה עצמאי על בסיס עומס משלו.התיק מספק הזמנה מלאה לתמיכה ואנליטיקה של לקוחות.
ניתוח בזמן אמת וגילויי הונאה
קליקים משתמשים, תצוגות דף ואירועים עסקאות מוזרים לשירותי ניתוח. עיבוד הזרם מחשב מדדים בזמן אמת - שיעורי הסגירה, ספירת ישיבות, ציוני זיהוי הונאה צורכים את אותם אירועים לתבניות חשודות באופן מיידי, ולא לחכות לדיווחים אצווה.
מידע על חיישנים
מיליוני מכשירים IoT מפרסמים אירועי טלמטארי (זמן, לחות, מיקום) לברוקר הודעה.מספר צרכנים להתמודד עם משימות שונות: אחסון נתונים (מסד נתונים של זמן), זיהוי אנומלי (תיקון), עדכונים לוחצים, מודל למידת מכונה הקצוץ.המחלוקת של הברוקר מטפלת בקשיים מסיביים באמצעות חישוב, וניתן להגדיל את הצרכנים באופן אופקי כדי לשמור על נתונים.
מסקנה
אדריכלות Driven היא פרדיגמה עוצמתית לבניית מיקרו-שירותים מודרניים שניתן לדרג, לבודד ולקיים. על ידי אימוץ תקשורת סינכרונית, הפיכה חופשית, והתאמה לאירוע, ניתן להימנע ממכשולים של מערכות מבוזרות synchronous.com יכול להתחיל שיטות ביקור קטנות, לבחור את הטכנולוגיה הנכונה בהתבסס על דרישותיך, ולהשקיע ב- LTpotency, ניטור, ו-pamche-i-i-uptexiFop.