בית מאגרי מידע מהי התחייבות דו-שלבית (2 pc)? - הגדרה מטכנולוגיה

מהי התחייבות דו-שלבית (2 pc)? - הגדרה מטכנולוגיה

תוכן עניינים:

Anonim

הגדרה - מה המשמעות של מחויבות דו-פאזית (2PC)?

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

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

Techopedia מסביר מחויבות דו-שלבית (2PC)

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

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

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

מהי התחייבות דו-שלבית (2 pc)? - הגדרה מטכנולוגיה