هدف سرور جدید دستیابی به راندمان، قابلیت اطمینان و مقیاس پذیری بالا است. دندریت از Synapse بهتر عمل می کند، برای کار به حافظه کمتری نیاز دارد و می تواند از طریق متعادل کردن بار در چندین گره مقیاس شود. معماری دندریت از مقیاس بندی افقی پشتیبانی می کند و بر اساس جداسازی کنترل کننده ها در قالب میکروسرویس ها است، جایی که هر نمونه میکروسرویس جداول خود را در پایگاه داده دارد. متعادل کننده بار تماس ها را به میکروسرویس ها ارسال می کند. برای موازی کردن عملیات در کد، از رشته ها (روال های رفتن) استفاده می شود که به شما امکان می دهد از منابع تمام هسته های CPU بدون تقسیم آنها به فرآیندهای جداگانه استفاده کنید.
دندریت از دو حالت پشتیبانی می کند: یکپارچه و چند سنگی. در حالت یکپارچه، همه میکروسرویس ها در یک فایل اجرایی بسته بندی می شوند، در یک فرآیند واحد اجرا می شوند و به طور مستقیم با یکدیگر تعامل دارند. در حالت چند جزئی (خوشه ای)، میکروسرویس ها می توانند به طور جداگانه راه اندازی شوند، از جمله در گره های مختلف توزیع شوند. تعامل اجزاء در
حالت چند جزء با استفاده از API و پلتفرم HTTP داخلی انجام می شود
توسعه بر اساس مشخصات پروتکل Matrix و با استفاده از دو مجموعه آزمایشی - آزمایشهای مشترک برای Synapse انجام میشود.
مرحله آزمایش بتا نشان می دهد که دندریت برای اجرای اولیه و انتقال به توسعه با شکل گیری دوره ای نسخه های جدید آماده است. در بین نسخه ها، طرح ذخیره سازی داده ها در پایگاه داده اکنون به روز می شود (برخلاف نصب برش ها از مخزن، محتویات پایگاه داده پس از به روز رسانی از بین نمی روند). تغییراتی که سازگاری به عقب را از بین میبرند، ساختار پایگاه داده را تغییر میدهند یا به تغییرات پیکربندی نیاز دارند، فقط در نسخههای اصلی ارائه میشوند. دندریت در حال حاضر توصیه میشود که در حالت یکپارچه همراه با PostgreSQL DBMS برای ایجاد سرورهای خانگی کوچک و گرههای P2P استفاده شود. استفاده از SQLite به دلیل مشکلات حل نشده در مدیریت عملیات همزمان هنوز توصیه نمی شود.
ویژگیهایی که هنوز در Dendrite پیادهسازی نشدهاند عبارتند از تأیید دریافت پیام، علامتهای خواندن، اعلانهای فشار، OpenID، اتصال ایمیل، جستجوی سمت سرور، فهرست کاربری، فهرستهای نادیدهگرفتن کاربر، ایجاد گروهها و جوامع، ارزیابی حضور آنلاین کاربر، ورودیهای مهمان، تعامل با شبکه های شخص ثالث
در دسترس برای استفاده، قابلیت های اساسی برای اتاق های چت (ایجاد، دعوت، قوانین احراز هویت)، ابزارهای اتحادیه شرکت کنندگان در اتاق ها، همگام سازی رویدادها پس از بازگشت از حالت آفلاین، حساب ها، نمایه ها، شماره گیری، دانلود و آپلود فایل ها (Media API)، ویرایش پیام ها، ACL ها، اتصال برچسب ها و کار با لیست دستگاه ها و کلیدها برای رمزگذاری سرتاسر.
به یاد بیاوریم که پلتفرم سازماندهی ارتباطات غیرمتمرکز ماتریس از HTTPS+JSON به عنوان یک انتقال با قابلیت استفاده از WebSockets یا یک پروتکل مبتنی بر
هیچ نقطه ای از شکست یا کنترل پیام در سراسر شبکه وجود ندارد. همه سرورهای تحت پوشش بحث با یکدیگر برابر هستند.
هر کاربر می تواند سرور خود را اجرا کرده و آن را به یک شبکه مشترک متصل کند. امکان ایجاد وجود دارد
سازماندهی کنفرانس های تلفنی، برقراری تماس های صوتی و تصویری. همچنین از ویژگیهای پیشرفتهای مانند اعلان تایپ، ارزیابی حضور آنلاین کاربر، تأیید خواندن، اعلانهای فشاری، جستجوی سمت سرور، همگامسازی تاریخچه و وضعیت مشتری پشتیبانی میکند.
منبع: opennet.ru