ويهدف الخادم الجديد إلى تحقيق الكفاءة العالية والموثوقية وقابلية التوسع. يتفوق Dendrite على Synapse، ويتطلب ذاكرة أقل بكثير لتشغيله، ويمكن التوسع من خلال موازنة التحميل عبر عقد متعددة. تدعم بنية Dendrite القياس الأفقي وتعتمد على فصل المعالجات في شكل خدمات صغيرة، حيث يكون لكل مثيل خدمة صغيرة جداول خاصة به في قاعدة البيانات. يقوم موازن التحميل بإرسال المكالمات إلى الخدمات الصغيرة. لموازاة العمليات في التعليمات البرمجية، يتم استخدام مؤشرات الترابط (إجراءات الذهاب)، والتي تتيح لك استخدام موارد جميع مراكز وحدة المعالجة المركزية دون تقسيمها إلى عمليات منفصلة.
Dendrite يدعم وضعين: متجانسة ومتعددة الليث. في الوضع المتجانس، يتم تجميع جميع الخدمات الصغيرة في ملف واحد قابل للتنفيذ، ويتم تنفيذها في عملية واحدة، وتتفاعل مباشرة مع بعضها البعض. في الوضع متعدد المكونات (الكتلة)، يمكن إطلاق الخدمات الصغيرة بشكل منفصل، بما في ذلك توزيعها عبر العقد المختلفة. تفاعل المكونات في
يتم تنفيذ الوضع متعدد المكونات باستخدام واجهة برمجة تطبيقات HTTP الداخلية والنظام الأساسي
يتم التطوير بناءً على مواصفات بروتوكول Matrix وباستخدام مجموعتي اختبار - اختبارات مشتركة في Synapse
تشير مرحلة الاختبار التجريبي إلى أن Dendrite جاهز للتنفيذ الأولي والانتقال إلى التطوير مع إصدار إصدارات جديدة بشكل دوري. بين الإصدارات، سيتم الآن تحديث نظام تخزين البيانات في قاعدة البيانات (على عكس تثبيت الشرائح من المستودع، لن يتم فقدان محتويات قاعدة البيانات بعد التحديث). لن يتم تقديم التغييرات التي تؤدي إلى كسر التوافق مع الإصدارات السابقة أو تغيير بنية قاعدة البيانات أو تتطلب تغييرات في التكوين إلا في الإصدارات الرئيسية. يوصى حاليًا باستخدام Dendrite في الوضع المتجانس جنبًا إلى جنب مع PostgreSQL DBMS لإنشاء خوادم منزلية صغيرة وعقد P2P. لا يُنصح باستخدام SQLite بعد بسبب المشكلات التي لم يتم حلها في التعامل مع العمليات المتزامنة.
تشمل الميزات التي لم يتم تنفيذها بعد في Dendrite تأكيدات استلام الرسائل، وعلامات القراءة، وإشعارات الدفع، وOpenID، وربط البريد الإلكتروني، والبحث من جانب الخادم، ودليل المستخدم، وقوائم تجاهل المستخدم، وإنشاء مجموعات ومجتمعات، وتقييم تواجد المستخدم عبر الإنترنت، ومدخلات الضيف، التفاعل مع شبكات الطرف الثالث.
تتوفر للاستخدام الوظائف الأساسية لغرف الدردشة (الإنشاء، والدعوات، وقواعد المصادقة)، ووسائل اتحاد المشاركين في الغرف، ومزامنة الأحداث بعد العودة من وضع عدم الاتصال، والحسابات، والملفات الشخصية، وإشارة الاتصال، وتنزيل الملفات وتحميلها (Media API)، تحرير الرسائل وقوائم ACL وربط العلامات والعمل مع قوائم الأجهزة والمفاتيح للتشفير الشامل.
دعونا نتذكر أن النظام الأساسي لتنظيم الاتصالات اللامركزية Matrix يستخدم HTTPS+JSON كوسيلة نقل مع إمكانية استخدام WebSockets أو بروتوكول يعتمد على
لا توجد نقطة فشل واحدة أو التحكم في الرسائل عبر الشبكة. جميع الخوادم التي تغطيها المناقشة متساوية مع بعضها البعض.
يمكن لأي مستخدم تشغيل الخادم الخاص به وتوصيله بشبكة مشتركة. من الممكن إنشاء
تنظيم المؤتمرات عن بعد، وإجراء المكالمات الصوتية والمرئية. كما أنه يدعم ميزات متقدمة مثل إشعار الكتابة وتقييم تواجد المستخدم عبر الإنترنت وتأكيد القراءة ودفع الإشعارات والبحث من جانب الخادم ومزامنة السجل وحالة العميل.
المصدر: opennet.ru