מה הם דפוסי סאגה ב-AWS?

Mh Hm Dpwsy S Gh B Aws



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

מאמר זה יסביר מהם דפוסי סאגה, מרכיביהם, שירותי AWS נתמכים והיתרונות שלהם.







מה הם דפוסי סאגה ב-AWS?

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



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







בואו ללמוד על מרכיבי המפתח שלו:

מהם המרכיבים של דפוסי סאגה ב-AWS?

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



  • סאגה סטפ
  • תזמורת סאגה
  • פיצוי

הבה נדון בקצרה ברכיבים אלה.

סאגה סטפ

צעדי Saga הם פעולות מיקרו-שירות או משימות המבוצעות במסגרת עסקאות מבוזרות שאין להן תופעות לוואי שליליות. הם חוזרים על עצמם מספר פעמים ואין תופעות לוואי מתרחשות בביצוע חוזר.

תזמורת סאגה

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

פיצוי

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

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

מהם דפוסי סאגת השירותים הנתמכים ב-AWS?

אלו הם השירותים שמציעה אמזון העוקבים אחר דפוסי סאגה:

  • פונקציות שלב AWS
  • AWS למבדה
  • אמזון DynamoDB
  • Amazon SNS ו-SQS
  • שער API של אמזון
  • AWS CDK
  • AWS SAM

פונקציות שלב AWS

Amazon Web Services Step Functions הוא שירות מנוהל במלואו שנועד להקל על זרימות עבודה וניהול מיקרו-שירותים על ידי מתן למפתחים מכונות מדינה המייצגות מכונות מצב מורכבות (דפוסי סאגה). מפתחים יכולים לעצב עסקאות מבוזרות על ידי שימוש ב-Step Functions תוך תזמור יעיל.

AWS למבדה

שירות המחשב ללא שרת Lambda של Amazon Web Services מאפשר למפתחים להריץ קוד מבלי לנהל שרתים ישירות. זה מאפשר דפוסי סאגה על ידי יצירת פונקציות למבדה המייצגות כל שלב ברמת השורש. מפתחים המשתמשים בפונקציות למבדה לייצוג שלבים יכולים להשתמש בה ביעילות בעת ייצוג שלבי סאגה בודדים דרך למבדות.

אמזון DynamoDB

Amazon DynamoDB הוא שירות מסד נתונים NoSQL של ​​AWS המנוהל במלואו. הוא מציע אפשרויות אמינות לאחסון נתונים. מתזמני Saga יכולים להשתמש ב-DynamoDB למעקב אחר עסקאות מבוזרות תוך כדי התקדמותם.

Amazon SNS ו-SQS

כדי ליצור תקשורת מונעת אירועים בין שירותי המיקרו משולבים Amazon Simple Notification Service (SNS) ו- Simple Queue Service (SQS). צעדי Saga משתמשים בשירותים אלה כדי לפרסם הודעות לשירותי מיקרו אחרים לאחר ביצוע פעולות ספציפיות. שירותים אלה מודיעים לאחר מכן לשירותי מיקרו אחרים על סטטוס ההשלמה ועדכוני סטטוס.

שער API של אמזון

Amazon API Gateway הוא שירות ענן של אמזון ליצירה, פרסום וניהול ממשקי API. ניתן להגדיל את ממשקי ה-API הללו לכל רמה רצויה. שירות זה מחבר את המשתמש ל-AWS Lambda. למבדה מחוברת עוד יותר לפונקציות הצעד העוקבות אחר דפוסי הסאגה.

AWS CDK

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

AWS SAM

מודל AWS Serverless Application משמש ליצירת יישומים ללא שרת. מסגרת זו היא גם קוד פתוח. ניתן ליצור כל יישום המשתמש בדפוס הסאגה ללא אספקת שרתים באמצעות AWS SAM.

היו שירותי AWS שתומכים בדפוסי סאגה. הבה נדון ביתרונות שמציעות דפוסי סאגה.

מהם היתרונות של דפוסי סאגה ב-AWS?

להלן כמה מהיתרונות שדפוסי הסאגה מספקים:

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

    ניהול עסקאות מבוזר

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

    עיקביות מידע

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

    סובלנות תקלות

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

    מדרגיות

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

    הכל היה על דפוסי סאגה והרכיבים והשימושים שלהם בשירותי AWS.

    סיכום

    דפוסי Saga מספקים גישה יעילה לטיפול בעסקאות מבוזרות בתוך ארכיטקטורות מיקרו-שירות. AWS Step Functions, Lambda, DynamoDB, SNS ו-SQS הם רק כמה שירותי AWS שתומכים בדפוס זה. מאמר זה הסביר באופן מקיף את דפוס הסאגה ואת פעולתו.