משתמש:Microservices/31.168.17.216

סגנון ארכיטקטורה המגדיר יישום מורכב כאוסף של שירותים מקושרים באופן רופף, אשר מיישמים יכולות עסקיות מוגדרות ומצומצמות. ארכיטקטורת ה-microservices מאפשרת אספקה / פריסה רציפה של יישומים גדולים ומורכבים. זה גם מאפשר לארגון לפתח את המחסנית הטכנולוגיה שלו. בארכיטקטורה microservices, השירותים צריכים להיות גרעיניים והפרוטוקולים קלי משקל. היתרון בפירוק יישום להרבה שירותים קטנים הוא שזה משפר את המודולריות, הופך את היישום לקל יותר להבנה, פיתוח ובדיקה. הוא גם ממקבל את הפיתוח ע"י מתן אפשרות לצוותים אוטונומיים קטנים לפתח, לפרוס ולהגדיל את קיבולת השירותים עליהם הם אחראים באופן עצמאי. באופן זה ניתן לעמוד בדרישות לשינויים רבים ותכופים, המאפיינים מערכות web אינטנסיביות, בהן יש שינויים ברמה יומית ואף פחות.

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

  • השירותים הם לעתים קרובות תהליכים שמתקשרים זה עם זה ברשת כדי להגשים מטרה, באמצעות פרוטוקולים אגנוסטיים לטכנולוגיה כגון http. עם זאת, שירותים עשויים גם להשתמש בסוגים אחרים של מנגנוני תקשורת בין תהליכים כמו זיכרון משותף.
  • שירותים בארכיטקטורת מיקרו-שירות צריכים להיות ניתנים לפריסה עצמאית.
  • קל להחליף את השירותים.
  • השירותים מאורגנים סביב יכולות, למשל ממשק משתמש קצה, המלצה, לוגיסטיקה, חיוב וכד'.
  • בהיותם כוללים השירותים הם בעלי המידע עליו הם אמונים.
  • שירותים ניתן ליישם באמצעות שפות תכנות , מסדי נתונים, חומרה וסביבת תוכנה שונות.
  • השירותים קטנים בגודלם, מאופשרי messaging, ארוזים בהקשרים, מפותחים באופן אוטונומי, ניתנים לפריסה עצמאית, מבוזרים, נפנים ונפרשים באמצעות תהליכים אוטומטיים.