Register
Process Type
Graphical expression
Mind Type
Structured expression
Note Type
Efficient expression

תרשים ארכיטקטורהתחביר

תרשים ארכיטקטורה

תרשים ארכיטקטורה משמש להצגת היחסים בין שירותים ומשאבים הנפוצים בפריסות ענן או 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