Yangi server yuqori samaradorlik, ishonchlilik va masshtablilikka erishishga qaratilgan. Dendrite Synapse-dan ustun turadi, ishlashi uchun sezilarli darajada kamroq xotira talab qilinadi va bir nechta tugunlar bo'ylab yukni muvozanatlash orqali masshtablasha oladi. Dendrite arxitekturasi gorizontal masshtablashni qo'llab-quvvatlaydi va mikroservislar ko'rinishida ishlov beruvchilarni ajratishga asoslangan, bu erda har bir mikroservis namunasi ma'lumotlar bazasida o'z jadvallariga ega. Yuk balanslagichi mikroservislarga qo'ng'iroqlarni jo'natadi. Koddagi operatsiyalarni parallellashtirish uchun barcha protsessor yadrolarining resurslarini alohida jarayonlarga bo'lmasdan ishlatishga imkon beruvchi ish zarralari (routines) qo'llaniladi.
Dendrite ikkita rejimni qo'llab-quvvatlaydi: monolit va polilit. Monolit rejimda barcha mikroservislar bitta bajariladigan faylga to'planadi, bitta jarayonda bajariladi va bir-biri bilan bevosita o'zaro ta'sir qiladi. Ko'p komponentli (klaster) rejimida mikroservislar alohida ishga tushirilishi mumkin, shu jumladan turli tugunlar bo'ylab taqsimlanadi. Komponentlarning o'zaro ta'siri
ko'p komponentli rejim ichki HTTP API va platformasi yordamida amalga oshiriladi
Rivojlanish Matritsa protokoli spetsifikatsiyalari asosida va ikkita test to'plami - Synapse uchun umumiy testlar yordamida amalga oshiriladi.
Beta-sinov bosqichi Dendritening dastlabki joriy etish va yangi relizlarning davriy shakllanishi bilan rivojlanishga o'tishga tayyor ekanligini ko'rsatadi. Relizlar o'rtasida ma'lumotlar bazasida ma'lumotlarni saqlash sxemasi endi yangilanadi (ombordan bo'laklarni o'rnatishdan farqli o'laroq, yangilanishdan keyin ma'lumotlar bazasi tarkibi yo'qolmaydi). Orqaga qarab muvofiqlikni buzadigan, ma'lumotlar bazasi tuzilmasini o'zgartiradigan yoki konfiguratsiyani o'zgartirishni talab qiladigan o'zgarishlar faqat asosiy nashrlarda taqdim etiladi. Hozirgi vaqtda dendritdan kichik homeserverlar va P2P tugunlarini yaratish uchun PostgreSQL DBMS bilan birgalikda monolit rejimda foydalanish tavsiya etiladi. Bir vaqtning o'zida operatsiyalarni bajarish bilan bog'liq hal qilinmagan muammolar tufayli SQLite-dan foydalanish hali tavsiya etilmaydi.
Dendrite-da hali tatbiq etilmagan xususiyatlarga xabarlarni qabul qilishni tasdiqlash, o'qish belgilari, push-bildirishnomalar, OpenID, elektron pochta orqali bog'lash, server tomonida qidirish, foydalanuvchi katalogi, foydalanuvchi e'tibor bermaslik ro'yxati, guruhlar va hamjamiyatlarni yaratish, foydalanuvchining onlayn mavjudligini baholash, mehmonlar kirishlari, uchinchi tomon tarmoqlari bilan o'zaro aloqa.
Suhbat xonalari uchun asosiy funksiyalar (yaratish, taklif qilish, autentifikatsiya qilish qoidalari), xonalarda ishtirokchilarni birlashtirish vositalari, oflayn rejimdan qaytgandan keyin voqealarni sinxronlashtirish, hisoblar, profillar, terish ko'rsatkichi, fayllarni yuklab olish va yuklash (Media API), foydalanish mumkin. xabarlarni tahrirlash, ACLlar, teglarni bog'lash va qurilmalar ro'yxati va oxirigacha shifrlash uchun kalitlar bilan ishlash.
Eslatib o'tamiz, markazlashtirilmagan aloqalarni tashkil qilish platformasi Matrix HTTPS+JSON-dan WebSockets yoki protokolga asoslangan protokoldan foydalanish qobiliyatiga ega transport sifatida foydalanadi.
Tarmoqdagi xatolik yoki xabarni boshqarishning yagona nuqtasi yo'q. Muhokama bilan qamrab olingan barcha serverlar bir-biriga teng.
Har qanday foydalanuvchi o'z serverini ishga tushirishi va uni umumiy tarmoqqa ulashi mumkin. Yaratish mumkin
telekonferentsiyalarni tashkil qilish, ovozli va video qo'ng'iroqlarni amalga oshirish. Shuningdek, u matn terish haqida xabar berish, foydalanuvchining onlayn mavjudligini baholash, o'qishni tasdiqlash, push-bildirishnomalar, server tomonida qidirish, tarix va mijoz holatini sinxronlashtirish kabi ilg'or xususiyatlarni qo'llab-quvvatlaydi.
Manba: opennet.ru