דנדריט, שרת תקשורת עם יישום פרוטוקול מטריקס

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

בניגוד לשרת הייחוס Synapse שנכתב בפייתון, קוד הדנדריט מפותח ב- Go. שתי היישומים הרשמיים מופצים תחת רישיון Apache 2.0.

במסגרת פרויקט Ruma מפותחת גרסה נפרדת של שרת מטריקס בשפת Rust המופצת ברישיון MIT.

השרת החדש שואפת להשיג יעילות גבוהה, אמינות ומדרגיות.

על דנדריט

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

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

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

דנדריט תומך בעבודה בשני מצבים: מונוליטי ורב-רכיבים (פולילית).

  • במצב מונוליטי, כל שירותי המיקרו מקושרים בקובץ הפעלה, פועלים בתהליך ומתקשרים ישירות זה עם זה.
  • במצב רב רכיבים (אשכול), ניתן להפעיל מיקרו-שירותים בנפרד, אפילו עם מגוון בצמתים שונים. אינטראקציה של רכיבים במצב רב רכיבים מתבצעת באמצעות ה- API הפנימי של HTTP ופלטפורמת Apache Kafka.

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

בשלב הפיתוח הנוכחי דנדרייט עובר בהצלחה 56% מהבדיקות של ממשקי ה- API של שרת הלקוח ו -77% מבדיקות ה- API של הפדרציה, בעוד שכיסוי הפונקציונליות בפועל נאמד בכ -70% עבור ה- API של שרת הלקוח ו -95% עבור ה- API של הפדרציה.

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

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

בינתיים, מומלץ להשתמש בדנדריט במצב מונוליטי יחד עם PostMSQL DBMS ליצירת שרתי בית קטנים וצמתים P2P. השימוש ב- SQLite אינו מומלץ עדיין עקב בעיות לא פתורות בטיפול בפעולות במקביל.

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

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

זכור זאת הפלטפורמה לארגון תקשורת מבוזרת מטריקס משתמשת ב- HTTPS + JSON כתחבורה עם יכולת להשתמש ב- WebSockets או בפרוטוקול המבוסס על CoAP + Noise. המערכת נוצרה כקהילת שרתים שיכולה לתקשר זה עם זה ומשולבת ברשת מבוזרת משותפת.

ההודעות משוכפלות בכל השרתים אליהם מחוברים משתתפי המסרים. הודעות מועברות בין שרתים באופן דומה לאופן שבו מופצות ההתחייבויות בין מאגרי Git.

מקור: https://matrix.org


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.