תרשים ארכיטקטורה
תרשים ארכיטקטורה משמש להצגת היחסים בין שירותים ומשאבים הנפוצים בפריסות ענן או CI/CD. בתרשים ארכיטקטורה, השירותים (הצמתים) מתחברים באמצעות קווים. שירותים קשורים יכולים להיות מוצבים בקבוצות, כדי להסביר טוב יותר כיצד הם מאורגנים.
דוגמה
העתק
הטמעה
architecture-beta
group api(cloud)[API]
service db(database)[Database] in api
service disk1(disk)[Storage] in api
service disk2(disk)[Storage] in api
service server(server)[Server] in api
db:L -- R:server
disk1:T -- B:server
disk2:T -- B:db
תחביר
אבני הבנייה של תרשים הארכיטקטורה הן: קבוצות, שירותים, קווי חיבור ונקודות חיבור.
עבור רכיבים נתמכים, סמלים מוצהרים על ידי עטיפת הסמל בסוגריים עגולים (), ותוויות מוצהרות על ידי עטיפת הטקסט בסוגריים מרובעים [].
כדי להתחיל תרשים ארכיטקטורה, יש להשתמש בתחביר architecture-beta, ולאחר מכן לפרט קבוצות, שירותים, קווי חיבור ונקודות חיבור. למרות ששלוש אבני הבנייה הללו יכולות להיות מוצהרות בכל סדר, יש להבטיח שהמזהה כבר הוצהר קודם לכן על ידי רכיב אחר.
קבוצה
התחביר להצהרה על קבוצה הוא:
העתק
הטמעה
group {group id}({icon name})[{title}] (in {parent id})?
לאחר השילוב:
העתק
הטמעה
group public_api(cloud)[Public API]
נוצרה קבוצה בשם public_api, המשתמשת בסמל cloud, ועם התווית Public API.
בנוסף, ניתן להשתמש בתחביר האופציונלי in כדי למקם קבוצה בתוך קבוצה אחרת.
העתק
הטמעה
group private_api(cloud)[Private API] in public_api
שירות
התחביר להצהרה על שירות הוא:
העתק
הטמעה
service {service id}({icon name})[{title}] (in {parent id})?
לאחר השילוב:
העתק
הטמעה
service database1(database)[My Database]
יצירת שירות בשם database1, המשתמש בסמל database, עם התווית My Database.
אם השירות שייך לקבוצה כלשהי, ניתן למקם אותו בתוכה באמצעות תחביר in האופציונלי
העתק
הטמעה
service database1(database)[My Database] in private_api
קו חיבור
התחביר להצהרה על קו חיבור הוא:
העתק
הטמעה
{serviceId}{{group}}?:{T|B|L|R} {<}?--{>}? {T|B|L|R}:{serviceId}{{group}}?
כיוון קו החיבור
ניתן לציין מאיזה צד של השירות קו החיבור יוצא, על ידי הוספת נקודתיים : בצד השירות של חץ החיבור והוספת L|R|T|B.
לדוגמה:
העתק
הטמעה
db:R -- L:server
יצירת קו חיבור בין השירות db ל-server, קו חיבור הנמשך מהצד הימני של db אל הצד השמאלי של server.
העתק
הטמעה
db:T -- L:server
יצירת קו חיבור בזווית של 90 מעלות בין השירות db ל-server, קו חיבור היוצא מראש db ומהצד השמאלי של server.
חץ
ניתן להוסיף חצים בכל צד של קו החיבור על ידי הוספת < לפני הכיוון השמאלי, או > אחרי הכיוון הימני.
לדוגמה:
העתק
הטמעה
subnet:R --> L:gateway
יצירת קו חיבור עם חץ המצביע על שירות gateway.
קו חיבור מחוץ לקבוצה
כדי שקו חיבור יעבור מקבוצה אחת לקבוצה אחרת או לשירות בתוך קבוצה אחרת, ניתן להוסיף את המתקן {group} אחרי serviceId.
לדוגמה:
העתק
הטמעה
service server[Server] in groupOne
service subnet[Subnet] in groupTwo
server{group}:B --> T:subnet{group}
יצירת קו חיבור היוצא מ-groupOne, מתחבר למיקום סמוך ל-server, ואז נכנס ל-groupTwo ומתחבר למיקום סמוך ל-subnet.
יש לשים לב ש-groupId לא יכול לשמש לציון קו חיבור, והמתקן {group} יכול לשמש רק עבור שירות בתוך קבוצה.
נקודת חיבור
נקודת חיבור היא סוג מיוחד של צומת, שיכול לשמש כנקודת פיצול פוטנציאלית בארבעה כיוונים של קו חיבור.
התחביר להצהרה על נקודת חיבור הוא:
העתק
הטמעה
junction {junction id} (in {parent id})?
העתק
הטמעה
architecture-beta
service left_disk(disk)[Disk]
service top_disk(disk)[Disk]
service bottom_disk(disk)[Disk]
service top_gateway(internet)[Gateway]
service bottom_gateway(internet)[Gateway]
junction junctionCenter
junction junctionRight
left_disk:R -- L:junctionCenter
top_disk:B -- T:junctionCenter
bottom_disk:T -- B:junctionCenter
junctionCenter:R -- L:junctionRight
top_gateway:B -- T:junctionRight
bottom_gateway:T -- B:junctionRight