Table of Contents
מיקרו-שירותים מבוססי אירועים מייצגים שינוי יסודי כיצד מערכות תוכנה מודרניות מאדריכלות בקנה מידה, עמידות, והיערכות עסקית.כאשר בשילוב עם עיצוב מונחה דומיין (DDD), ארכיטקטורות אלה עוברות מעבר לדלפק טכני בלבד כדי ליצור מערכות המשקפות את השפה ואת המגבלות של התחום העסקי בפועל.מדריך זה מספק גישה מעשית יסודית, מעשית לתכנון מיקרו-שירותים מונעים אירועים באמצעות עקרונות DDD, המכסה את כל מההקשר של גילוי אירוע.
מידע על Event-Driven Microservices
באדריכלות מונחת בקשה מסורתית, שירותים מתקשרים באופן סינכרוני באמצעות HTTP או RPC שיחות.זה יוצר הפיכה זמנית הדוקה - המתקשר חייב לחכות לטלפוניה להגיב.microservices המונעים על ידי אירועים מונעים על ידי מודל זה: שירותים לפרסם אירועים (הודעות המייצגות משהו שקרה) לברוקר הודעה, ושירותים אחרים לצרוך אירועים אלה באופן סינכרוני.
מרכיבי הליבה של ארכיטקטורה מיקרו-שירות המונעת על ידי אירוע כוללים:
- (ב) ,0) מפיקים: שירותים אשר מזהים וגלומים אירועים (למשל, "סדר" (ז')
- (ב) [15] ,5 ,5 ,5 ,5 ,5 , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) מיסקב המרומ"ל:1: מידו של אפאצ'י קפקא, הרבטמק, או אמזון EventBridge, שמאחסן ומעבדים
- (ב) [15] ,8) ,(ב) ,(ה) ,(ה) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
מודל זה משפר את יכולת הסקאלה מכיוון שכל שירות יכול להיות בקנה מידה עצמאי על בסיס עומס משלו.חוסנות משתפרת כי כשל הצרכנים אינו חוסם את המפיק - אפילוטים נמשכים ויכולים להיות מעובדים מאוחר יותר.בנוסף, מערכות מונחות באופן טבעי תמיכה עקביות בסופו של דבר, אשר לעתים קרובות מתאים יותר מאשר מבוזר עסקאות עבור מערכות בקנה מידה גדול.
עקרונות הליבה של עיצוב Domain-Driven
עיצוב מונחה דומיין כבר מעודן במשך עשרות שנים על ידי אריק אוונס וקהילת DDD.המטרה היא ליצור תוכנה שמודלת נאמנה את התחום העסקי ולא להסתבך בדאגות תשתיות.אבני הבניין המרכזיות של DDD ישימות ישירות על עיצוב מיקרו-שירות:
המונחים:
ההקשר המוגדר הוא גבול הגיוני שבו מודל דומיין מסוים חל.לדוגמה, הרעיון של "לקוחות" עשוי להיות שונה בין ההקשר המכירות (שם הלקוח הוא מוביל עם מידע מגע) לבין ההקשר ההפלגה (שם הלקוח הוא כתובת והעדפות אספקה) לכל אחד מההקשר המוגדר יש שפה כל-כך שלו.
ערכים ואובייקטים
נקודות הן אובייקטים עם זהות ייחודית הנמשכת לאורך זמן (למשל, הזמנה עם מזהה סדר) אובייקטים ערכיים הם אובייקטים בלתי-מחושיים המתארים היבטים של התחום ללא זהות ייעודית (למשל, כתובת, כסף) במיקרו-שירותים מונעים אירועים עצמם הם לעתים קרובות אובייקטים ערכיים – הם מייצגים רגע בזמן וצריכים להיות חסרי יכולת.
« « פרוטסטנטים
(א) ,צרף הוא אוסף של אובייקטים דומיין שניתן לטפל בהם כיחידה אחת.גבול עסקה מבטיח עקביות בתוך הצטברות.באדריכלות המונעת על ידי אירוע, מתפרסם כאשר מדינה מצטברת משתנה.לדוגמה, כאשר צו של 0LT:0 אנדרטה:1 מעברים מ"מחלים" ל"מבוטלים", המערכת מפרסם הזמנה:2, אשר מותאמת את מה שהופך את האירועים האטומיים ובלבד שמשתנים.
אירועים
[ה] אלה הם אבן הפינה של מערכות מונחות אירועים.אירוע דומיין תופס משהו שקרה בתחום שמומחים לתחומים אכפת ממנו.אירועים נקראים בעבר מתוח (למשל, FLT:0 InחשבוניתFLT:1, ⁇ :2 Inventory ReventoryReventory Reventory Reventory ReveFLT 3: 3) ונושא את הנתונים הדרושים לצרכנים להגיב.
עיצוב Microservices עם DDD
החלת DDD למיקרו-שירות אינה רק על פיצול מונוליטי לתוך שירותים קטנים יותר.זה דורש ניתוק שיטתי של התחום העסקי בהקשרים כבולים, שכל אחד מהם הופך למועמד עבור מיקרו-שירות. התהליך כולל שלושה שלבים עיקריים: עיצוב אסטרטגי, עיצוב טקטי, מודלים אירועים.
עיצוב אסטרטגי: גילוי קידודים
התחל עם ההרחבה:0 (Domain Storytellinging) 1 סדנה או (FLT:2t Storming FLT 3: 3 מפגשים. Bring Professional and Developers יחד כדי למפות את זרימת הפעילות העסקית. as youזהה אירועים ופקודות, ארגן אותם לתוך ההקשרים.
- (ב) ,0) ניהול הזמנות: מטפל בעגלת, צ'ק, סדר מכונה
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ויקרא: ויקרא: ויקרא י"ד): "החשבונות, תשלומים, החזרים"
- (ב) ,0) ,ב"ה: משלוח, מעקב, משלוח, משלוח
- (ב) ,0) ניהול לקוחות: פרופילים, העדפות, אימות
כל אחד מההקשרים הללו יהפוך למיקרו-שירות.ה-FLT:0Context MapFelo1, דמיין יחסים בין ההקשרים – במיוחד אילו הקשרים הם upstream (אירועים מתקדמים) ואשר הם מטה הזרם (אירועים נדירים) מפה זו הופכת לתבנית הכחולה עבור טופולוגיה האירוע שלך.
עיצוב טקטי: עיצוב בתוך קונטקסט מבולע
בתוך כל ההקשר המוגדר, לבנות מודל דומיין עשיר באמצעות ישויות, אובייקטים בעלי ערך, מצטברים ואירועים דומיין.לדוגמה, בהקשר לניהול סדר, ייתכן שתגדיר:
- (ב) ,0) ,(השורשים של ההרחבה) מכיל פריטים, מעמד, כתובת המשלוח
- (ב) ויקרא י"ד): "התורה" (התחילה)
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,(הופנה מהדף (אירועי אמת): העלתה כאשר צו הוגש
- (ב) ,0) ,(הופנה מהדף ⁇ ) ,(האירוע הקבע): גדל כאשר מעברי הזמנה נשלחים
השורש המאגד מבטיח שכל השחלות (למשל חישוב כולל, מעברי מעמד) מאוישבות לפני אירוע שפורסם.
אירוע מודל: Defining Events and Choreography
לאחר שההקשרים המפוזרים מוגדרים, מודל האירועים המשתנים ביניהם. השתמש בטכניקה שיתופית כמו FLT:0 (אפילו מודל של FLT:1) (ביצירתו של אדם דימיטרק) מתחיל עם ציר זמן: אירועים ברשימה בסדר הכרונולוגי כפי שהם מתרחשים במסע משתמשים.
- (ב) ,0) ,(הופנה מהדף (ב) ,2 ,2 ,2 ).
- (ב) ויקרא י"ד:2 ויקרא י"ד:2 ויקרא יט:2 ויקרא יט:2 ויקרא יט:2 ויקרא יט, ויקרא יט, יט, ויקרא י"ד: 5)
- (ב) ויקרא י"ד:2 ויקרא י"ד): "וַיְהִיא עַמְתָּבְהִיתִיתִיתִיתִיתִי עַל עַל עַל עַל עַל עַל עַל עַל עַל עַל עַבְתִּים:
- (ב) ויקרא י"ד): "ה' (ב"ד) ויקרא ויקרא י"ד): "וַיֹּאמַר עַל עַמֶּה:2 נָא נָא עַמַרְתָּעָה עַמֶּה: 5
- (ב) ויקרא י"ד:2 ויקרא י"ד): "ה' ויקרא יט'" (בראשית כ"ד, כ"ד)
כוריאוגרפיה זו מבטלת את הצורך בתזמורת מרכזית.כל שירות מגיב לאירועים ועלולה לייצר אירועים חדשים.המערכת כולה משיגה עקביות בסופו של דבר.
היתרונות של שילוב של אדריכלות Event-Driven ו- DDD
הסינרגיה בין ארכיטקטורה מבוססת אירועים ו- DDD מניבה מספר יתרונות שניתן למדידה על עיצובי שירות מסורתיים:
« « OUT COUPING
שירותים מתקשרים באופן בלעדי באמצעות אירועים, לא שיחות API ישירות.אירוע הוא מסר של אש ושכח: המפיק אינו מצפה לתגובה סינכרונית.זה מבטל את ההפיכה בזמן ריצה.צר יכול להוסיף או להסיר מבלי להשפיע על היצרן.שינויים במודל הפנימי של שירות אחד לא דולפים לאחרים כל עוד האירוע נשאר יציב.
סקלאה
עיבוד אירוע סינכרוני מאפשר לכל שירות בקנה מידה אופקי על בסיס עומס משלו. A ספייק כדי מיקומים לא לכפות את השירות הממציאי בקנה מידה באותה רמה; אירועים מוצצים בתיווך, יתר על כן, ניתן להוסיף צרכנים חדשים אירועים (למשל, מנוע המלצה שמקשיב ל-FLT:0 CHF) ללא שינוי שירותים קיימים.
עמידות
כשלים מבודדים.אם שירות בילינג ירד, ניהול ההזמנה עדיין מפרסם אירועים, הנמשכים.כאשר בילינג מתאושש, הוא מנגן מחדש את ה backlog.זה הרבה יותר חזק מאשר שרשראות סינכרוניות שבו אחת מתחנות זמן אחת מחוץ לשקדנות דרך המערכת כולה.
המונחים: Alignment
אולי היתרון החזק ביותר: האדריכלות משקף את העסק.אירועים נקראים בשפה של מומחי התחום.זה הופך את המערכת שקוף לבעלי העניין וקל יותר להתפתח כשינויים עסקיים.הקשרים המוערכים מונעים את "שירות הגנרי" הכולל, שמנסה לשרת מאסטרים מרובים ולסיים לשרת לא.
אתגרים ועיסוקים טובים
בעוד השילוב של מיקרו-שירותים מונעים אירועים ו- DDD הוא רב עוצמה, הוא מציג מורכבות חדשה הדורשת שיטות הנדסיות ממושמעות.
ניהול שקיפות Eventual Consistency
כאשר שירותים מתאחדים באופן רופף באמצעות אירועים, המערכת עולה בקנה אחד עם המשתמש עשוי לראות מעמד "הפיכת תשלום" זמן קצר לפני ה-FLT:0PaymentSucceedFLT:1 אירוע propagates.זה מקובל על תחומים רבים, אבל עליך לתכנן את חוויית המשתמש בהתאם.FLT:2Sagas ReductionFLT 3 (choreography או בקיצור) כדי לטפל בתוכנות מרובות, אם יש צורך להפעיל את השירות, אם יש צורך להפעיל את התגמול על מנת להגיב על מנת להגיב על מנת להגיב על ידי השירות.
תרגום לעברית עבור: putema Evolution
אירועים הם רשומות בלתי עבירות של העבר, אבל ה-Schemas שלהם חייב להתפתח.אימוץ ההרחבה:0 (אפילו של רשם סיג'ט 1 (כגון קידוד של רוש או פתרון מותאם אישית) כדי לאכוף בדיקות תאימות. השתמש בפורמט סידורי התוויות התומך באבולוציה של סכימה, כמו Abro, Protobuf, או JSON Schema עם הגרסה הטובה ביותר כוללים:
- תמיד להוסיף שדות חדשים כאופציונליים עם ברירת מחדל.
- אל תסיר שדות ללא תקופת מחיקה.
- (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- שמור על צרכנים סובלניים של גרסאות ישנות יותר (התאמה מוקדמת).
אירוע הפחתת אירועים נגד אזהרות אירועים
לא כל האירועים צריכים להיות מאוחסנים כמקור האמת.יש הרבה יישום בשימוש (FLT:0event הודעות חיקויFLT:1 - mes המודיעות שירותים אחרים של שינוי ללא אחסון ההיסטוריה של האירוע המלא.
אי-יכולת ותיקון של ממש-פעם
מערכות מחוסמות לעתים קרובות לספק אירועים לפחות פעם אחת.עיצוב הצרכנים שלך להיות idempotent: עיבוד אותו אירוע פעמיים חייב לייצר את אותה תוצאה. גישה נפוצה היא להכפיש על ידי מזהה אירוע. ב DDD, מזהה המצטבר בשילוב עם מספר רצף האירועים יכול לשמש מפתח דדוק.
מעקב ושקיפות
מערכות מונעות אירועים קשה יותר לפענוח כי הזרם הוא מסונכרן ומגבילות מספר שירותים.(יישום:0) להפיץ את המסלולים של ההרחבה 1 (למשל, OpenTelemetry) עם מזהה מתאם העובר בכל אירוע. Log all Event Publishing and הצריכה אירועים עם פעמיםtamps.
צעדים מעשיים להתחיל
- (ב) ,0) , רוץ אירוע סדנה מסובלת 1 (FLT:103) עם מומחי דומיין כדי לזהות את כל אירועי התחום, פקודות והקשרים קשורים.
- [ה]ההתמ"ל: [ה], [ה], [ה],] ,[ה], [ה]], [ה],] [ה]]], [ה]], [הדברים יהיו מיקרו-שירותים ויחרו את מערכות היחסים של הזרם/ההההזרם התחתון.
- (ב) ,0) בחר את האירוע שלך ברוקר 1 (Kafka עבור גבוה דרך דוכן, הרבטמקה עבור ניתוק פשוט יותר, או ענן-native כמו AWS EventBridge).
- אירוע עיצוב:0 (PLT:0) schemasFLT:103) בשיתוף פעולה עם רישום.
- (ב) ⁇ :0) ,הפעלת שירות אחד של 1:1 לאחר דפוסים טקטיים DDD.
- (ב) ,0) ,לבנה את ה-iPoderveerph 1 בשירות אחר, לבחון את זרם ה-inc.
- [ה]הרחבה:0] באופן קיצוני, [ה] תוסיף עוד אירועים, יותר צרכנים, ותיישם סאגות לזרמים קריטיים.
דוגמה אמיתית לעולם: E-Commerce Order Fulfillment
(ב) , [17] , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
משאבים חיצוניים
כדי להעמיק את ההבנה של מושגים אלה, לחקור את המקורות הסמכותיים הבאים:
- (ב) מאמרו של מרטין פוולר על מיקרו-שירותי תפוצה 1:1 - קריאה בסיסית בגבולות שירות
- (ב) שפה:0) דומיין – אריק אוונס' DDD SiteveFLT:1 - מקורות רשמיים ב-DDD אסטרטגי וטקטי
- אתר האינטרנט של ההרחבה (FLT:0) Modeling SiteFLT:1 - מדריך מעשי וכלי לעיצוב מערכות מונחות אירועים
- (ב) ,0) ,Apache קפקא, תיעוד של איורים 1 (FLT: 1), להבנת דפוסי עיבוד אירועים
מסקנה
עיצוב מיקרו-שירותים מונעים אירועים עם עקרונות עיצוב מונחה דומיין הוא גישה מוכחת לבניית מערכות שהן גם חזקות והן מבוססות-עסקיות. השילוב של ההקשרים המוערכים, צ'יפס, אירועי דומיין, ו כוריאוגרפיה סינכרונית מניבה הפיכה חופשית, סקאלות עצמאית, וחוסנית מחדש של אתגרים כמו בסופו של דבר עקביות וגרסה אירוע הדורש תכנון זהה, התשלום הוא מערכת שיכולה להתפתח עם יישום עסקי מוצק, אך לא יעיל.