- הפצת נתונים
- מאפייני מערכות מבוזרות
- תְאִימוּת
- סובלנות לתקלה
- Middleware ו- API
- ארכיטקטורה
- ארכיטקטורת שרת לקוח
- אדריכלות עמיתים לעמית
- ארכיטקטורות רב ברמה
- ארכיטקטורת קבוצת מעבד
- סוגי מערכות מבוזרות
- מחשוב אשכול
- מחשוב רשת
- מחשוב ענן
- יעדים
- שתף משאבים
- הַפשָׁטָה
- פְּתִיחָה
- יכולת פעולה הדדית וניידות
- מדרגיות
- יישומים
- מכונה וירטואלית Erlang
- ביטורנט
- יתרון
- חסרונות
- דוגמאות למערכות מבוזרות
- StackPath
- מרשתת
- הפניות
מערכות מבוזרות הן פיסות תוכנה המשמשות לתאם את הפעולות של מספר מחשבים. תיאום זה מושג באמצעות חילופי מסרים, כלומר עם פיסות נתונים המעבירות מידע.
מערכות מבוזרות דורשות רכיבים במקביל, רשת תקשורת ומנגנון סנכרון. הם מאפשרים שיתוף של משאבים, כולל תוכנה, על ידי מערכות המחוברות לרשת. לכן המערכת מבוססת על רשת המחברת בין המחשבים ומטפלת בניתוב של הודעות.
a ו- b (מערכות מבוזרות). b (מערכת מקבילה). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
מחשוב מבוזר הוא תחום מחשוב שאחראי על ניתוח מערכות מבוזרות. תוכנית מחשב הפועלת על מערכת מבוזרת נקראת תוכנית מבוזרת.
בהקשר בו יתכנו מאות או אלפי מחשבים, שזה שיעור נפוץ בחברות אינטרנט גדולות, מקובל מאוד שיש כשלים ברכיבים, בין אם מדובר בחומרה, רשת, דיסקים וכו ', והמערכת חייבת להיות מוכנים להתמודד איתם בכל עת.
הפצת נתונים
הפצה היא המפתח ליכולת להתמודד עם קונגלומרטים גדולים מאוד. יש צורך להשיג מדרגיות, שהיא האמצעי לשמירה על ביצועים יציבים כאשר גדלות מאגרי נתונים על ידי הוספת משאבים חדשים למערכת.
מצד שני, ההפצה מציגה שורה של בעיות טכניות אשר הופכות את התכנון והיישום של מחשוב ואחסון מבוזרים לחשוב לקחת בחשבון. נקודה אחת שיש לקחת בחשבון היא הסיכון לכישלונות אפשריים.
מאפייני מערכות מבוזרות
a ו- b (מערכות מבוזרות). b (מערכת מקבילה). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
תְאִימוּת
המכשירים יכולים לעבוד עם מערכות הפעלה שונות. זה לא מונע מהם להציע תמיד את אותם שירותים למשתמשים. מסיבה זו, כל ההתקנים המחוברים תואמים זה את זה.
סוגיה מהותית נוספת היא עיצוב התוכנה, מכיוון שהיא תואמת גם לכל המערכות והמשתמשים שנמצאים בכל מחשב.
סובלנות לתקלה
בהיותה רשת יחידה עם מחשבים רבים, אם חלק ממרכיביה נכשלים, האחרים יכולים להמשיך לבצע את תפקידם באופן מלא, ולהימנע משגיאות במהירות.
מסיבה זו, מערכות מבוזרות נוטות לספק ביטחון רב בעבודה איתן, מכיוון שדי נדיר שהמערכת תיכשל לחלוטין, מכיוון שהמשימות אינן שוכנות במכשיר אחד, אלא במחשבים שונים.
Middleware ו- API
מעבדים שונים משתמשים בתווך ההפצה, ועוזרים לחלוק משאבים ויכולות שונות כדי לספק למשתמשים רשת קוהרנטית ומשולבת. זה גם מספק יישומים עם מספר שירותים, כגון אבטחה ושחזור התרסקות.
היום אתה שומע יותר על ממשקי תכנות יישומים (API), שמתפקדים כשער בו יישומים יכולים לתקשר. יישומים אינם צריכים לדעת דבר על יישומים אחרים פרט לממשק ה- API שלהם.
ארכיטקטורה
ארכיטקטורת שרת לקוח
מחשב מסוים הנקרא שרת יכול לבצע משימות מסוימות, הנקראות שירותים. לדוגמה, הגשת קבצים ברשת, היכולת לבצע פקודות מסוימות או לנתב נתונים למדפסת. הלקוח הוא המחשב שמבקש את השירותים.
המחשב הידוע בעיקר בזכות השירות שהוא מספק עשוי להיקרא שרת הדפסה, שרת קבצים וכן הלאה.
אדריכלות עמיתים לעמית
ההנחה היא שלכל מחשב יכולות דומות וכי אף מכונה לא מוקדשת לשרת את האחרים. דוגמה לכך היא קבוצת מחשבי מיקרו במשרד קטן.
הרשת מאפשרת לאנשים לגשת זה לזה לקבצים של זה ולשלוח דוא"ל, אך אף מחשב אינו מספק מערך שירותים ספציפי.
ארכיטקטורות רב ברמה
עבור שירותים מסוימים ייתכן שיהיה הגיוני שיש קישוריות היררכית. לדוגמה:
- שרת בעת ביצוע המשימות שלו יכול ליצור קשר עם שרת אחר מסוג אחר
- ארכיטקטורת שרת הלקוח היא ארכיטקטורה דו-שכבתית.
ארכיטקטורת קבוצת מעבד
מערכת הפעלה יכולה להפעיל תהליכים באופן אוטומטי במחשבים סרק ואף להעביר תהליכים למערכות עם מספר גבוה יותר של מחזורי מעבד זמינים. במקרים אחרים, משתמש יכול להתחיל או להעביר תהליכים באופן ידני במערכות זמינות.
סוגי מערכות מבוזרות
מחשוב אשכול
זהו אוסף של מחשבים דומים המחוברים דרך רשת מקומית במהירות גבוהה. הוא משמש לעיתים קרובות לתכנות מקבילה, כאשר תוכנית אינטנסיבית מחשוב אחת פועלת במקביל במחשבים מרובים.
כל אשכול מורכב מקבוצת צמתים מחושבים אשר מנוטרים ומנוהלים על ידי צמתן אחד או יותר הנקראים מאסטרים.
מחשוב רשת
זה מורכב מצמתים עם הבדלים ניכרים בטכנולוגיית החומרה והרשת. המגמה הנוכחית לקיים תצורה מסוימת של צמתים למשימות מסוימות הביאה לגיוון רב יותר, שהוא הנפוץ ביותר במחשוב רשת.
מחשוב ענן
זוהי מערכת של משאבים וירטואליים השוכנים במרכז הנתונים של ספק ענן. לקוחות יכולים להקים תשתית וירטואלית כדי לנצל מגוון של שירותי ענן.
למשתמש נראה כי הוא שוכר את המחשב הבלעדי שלו. עם זאת, למעשה סביר להניח שאתה משתף אותו עם לקוחות אחרים. כך גם באחסון וירטואלי.
ניתן להגדיר את המשאבים הווירטואליים הללו באופן דינמי, וכך לאפשר מדרגיות. אם יש צורך במשאבי מחשוב נוספים, המערכת יכולה לרכוש יותר.
יעדים
שתף משאבים
בין אם מדובר במתקני אחסון, קבצי נתונים, שירותים או רשתות, ייתכן שתרצה לחלוק את המשאבים הללו בין יישומים, למען הכלכלה.
הרבה יותר זול להחזיק מתקן אחסון משותף בין יישומים מרובים מאשר לרכוש ולתחזק אחסון לכל אחד בנפרד.
הַפשָׁטָה
להסתיר כי התהליכים והמשאבים מופצים בכמה מחשבים, אולי מפוזרים גיאוגרפית. כלומר, התהליכים והמשאבים מופשטים מהמשתמש.
פְּתִיחָה
זה בעצם מציין שמערכת מבוזרת בנויה עם אלמנטים שניתן לשלב בקלות במערכות אחרות. בהתאם לכללים סטנדרטיים, כל תהליך עם ממשק זה יכול לתקשר עם תהליך אחר עם אותו ממשק.
יכולת פעולה הדדית וניידות
זה מתייחס כששתי מערכות מיצרניות שונות יכולות לעבוד יחד. ניוד קובע עד כמה יישום המיועד למערכת A יכול לתפקד במערכת B ללא שינוי.
מדרגיות
זה הכרחי כאשר יש עלייה בקרב המשתמשים הזקוקים למשאבים רבים יותר. דוגמה טובה היא העלייה בקהל נטפליקס בכל ערב שישי.
זה אומר להוסיף באופן דינאמי יותר משאבים, כמו הגדלת קיבולת הרשת על ידי התרת שידור וידאו והפחתה מרגע שהצריכה תקינה.
יישומים
מכונה וירטואלית Erlang
חבילת התוכנה LYME מבוססת על Erlang ומציעה אלטרנטיבה ל- LAMP. שמואל קסבה אוטו טרייאן / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang היא שפה פונקציונלית שיש לה סמנטיקה נהדרת לסכום, הפצה וסובלנות תקלות. מכונה וירטואלית Erlang מטפלת בהפצה של יישום Erlang.
מודל זה פועל על ידי תהליכים מבודדים רבים, כולם עם יכולת לתקשר זה עם זה באמצעות מערכת העברת הודעות מובנית.
המכונה הוירטואלית Erlang יכולה להתחבר למכונות וירטואליות אחרות שנמצאות במקומות שונים. נחיל מכונות וירטואלי זה מפעיל יישום יחיד, המטפל בכישלונות של מכונה אחת על ידי תזמון הפעלה לצומת אחר.
ביטורנט
פעולת רשת BitTorrent. מרז'בי / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
זהו אחד הפרוטוקולים הנפוצים ביותר להעברת קבצים גדולים באינטרנט. הרעיון המרכזי הוא להקל על העברת קבצים בין עמיתים שונים ברשת מבלי לעבור על שרת ראשי.
באמצעות לקוח BitTorrent, אתה יכול להתחבר למספר מחשבים ברחבי העולם כדי להוריד קובץ. מחשב הפועל כרכז עוזר להציג את הצמתים ברשת עם הקובץ הרצוי.
BitTorrent מאפשר לארח קבצים בהתנדבות ולהעלות אותם למשתמשים אחרים שרוצים אותם. הוא כל כך פופולרי מכיוון שהיה הראשון מסוגו שהציע תמריצים לתרומה לרשת.
יתרון
- ניתן להוסיף בקלות צמתים נוספים למערכת המופצת, כלומר ניתן לקנה את גודלם לפי הצורך.
- כל הצמתים במערכת המופצת מחוברים זה לזה. לכן כל אחד מהצמתים יכול לשתף נתונים בקלות עם הצמתים האחרים.
- ניתן לשתף משאבים כמו מדפסות עם צמתים מרובים במקום להיות מוגבלים רק לאחד.
- כישלון של צומת אחד אינו מוביל לכישלון של המערכת המבוזרת כולה. הצמתים האחרים עדיין יכולים לתקשר זה עם זה.
חסרונות
- הודעות ונתונים מסוימים עלולים לאבד ברשת כאשר עוברים מצומת אחד למשנהו.
- קשה לספק אבטחה נאותה במערכות מבוזרות מכיוון שיש לאבטח את שני הצמתים וגם את החיבורים.
- עומס יתר ברשת יכול להתרחש אם כל הצמתים במערכת המבוזרת מנסים לשלוח נתונים בו זמנית.
- בסיס הנתונים המחובר למערכות המבוזרות הוא די מסובך וקשה לניהול בהשוואה למערכת משתמש בודדת.
דוגמאות למערכות מבוזרות
ניתן להשתמש במערכות מבוזרות במספר רב של מקרים, כמו מערכות בנקאות אלקטרוניות, משחקי רשת מקוונים מרובי משתתפים ורשתות חיישנים.
StackPath
היא משתמשת במערכת מבוזרת גדולה במיוחד בכדי להפעיל את שירות רשת התוכן שלה. לכל אחת מנקודות הנוכחות שלה (PoP) יש צמתים היוצרים מערכת מופצת ברחבי העולם.
StackPath מאחסנת את התוכן האחרון והמתבקש בתדירות הגבוהה ביותר במיקומים הקרובים לאתר בו נעשה שימוש.
על ידי חיבור בין מחשבים וירטואליים, בנוסף לניצול המהירות והזריזות של המחשוב החדיש ביותר, המערכת יכולה להתמודד עם אלפי בקשות סימולטניות במהירות רבה.
מרשתת
זוהי המערכת המופצת הגדולה בעולם. כל משתמש מרגיש כמו מערכת יחידה, למרות שהיא מורכבת ממיליוני מחשבים.
באמצעות מושג ההפשטה, אין לך מושג היכן הנתונים מאוחסנים, כמה שרתים מעורבים, או כיצד המידע מגיע לדפדפן. הדפדפן ממיס את המורכבות של האינטרנט.
זה חל גם על יישומים כמו דוא"ל Gmail או כל יישום אחר שניתן להשתמש בהם. כל אדם מתקשר עם יישומים מבוזרים על בסיס יומי.
הפניות
- פול קרז'נובסקי (2018). מערכות מבוזרות. נלקח מ: cs.rutgers.edu.
- קתרין פגניני (2019). פריימר: מערכות מבוזרות ומחשוב מולדת ענן. הערימה החדשה. נלקח מ: thenewstack.io.
- האוניברסיטה הבינלאומית של ולנסיה (2020). מערכות מבוזרות, מאפיינים וסיווג. נלקח מ: universidadviu.com.
- דייויד מידור (2018). מערכות מבוזרות. נקודת הדרכות. נלקח מ: tutorialspoint.com.
- רוברט גיב (2019). מהי מערכת מבוזרת? נלקח מ: blog.stackpath.com.
- סטניסלב קוזלובסקי (2018). מבוא יסודי למערכות מבוזרות. מחנה קוד חינם. נלקח מ: freecodecamp.org.