Yeni server yüksək effektivliyə, etibarlılığa və genişlənməyə nail olmağa yönəlib. Dendrite Synapse-i üstələyir, işləmək üçün əhəmiyyətli dərəcədə daha az yaddaş tələb edir və bir çox qovşaqda yük balansı vasitəsilə miqyaslana bilir. Dendrite arxitekturası üfüqi miqyaslaşdırmanı dəstəkləyir və hər bir mikroservis instansiyasının verilənlər bazasında öz cədvəllərinə malik olduğu mikroservislər şəklində işləyicilərin ayrılmasına əsaslanır. Yük balanslaşdırıcı mikroservislərə zənglər göndərir. Koddakı əməliyyatları paralelləşdirmək üçün bütün CPU nüvələrinin resurslarını ayrı-ayrı proseslərə bölmədən istifadə etməyə imkan verən mövzulardan (go rutinləri) istifadə olunur.
Dendrite iki rejimi dəstəkləyir: monolit və polilit. Monolit rejimdə bütün mikroservislər bir icra edilə bilən faylda paketlənir, bir prosesdə yerinə yetirilir və bir-biri ilə birbaşa qarşılıqlı əlaqədə olur. Çoxkomponentli (klaster) rejimdə mikroservislər ayrı-ayrılıqda işə salına bilər, o cümlədən müxtəlif qovşaqlarda paylanmışdır. Komponentlərin qarşılıqlı təsiri
çoxkomponentli rejim daxili HTTP API və platformadan istifadə etməklə həyata keçirilir
İnkişaf Matrix protokolunun spesifikasiyası əsasında və iki test paketindən - Synapse üçün ümumi olan testlərdən istifadə etməklə həyata keçirilir.
Beta sınaq mərhələsi Dendrite ilkin tətbiqə və vaxtaşırı formalaşan yeni buraxılışlarla inkişafa keçidə hazır olduğunu göstərir. Buraxılışlar arasında verilənlər bazasında məlumatların saxlanması sxemi indi yenilənəcək (repozitoriyadan dilimlərin quraşdırılmasından fərqli olaraq, yeniləmədən sonra verilənlər bazasının məzmunu itirilməyəcək). Geriyə uyğunluğu pozan, verilənlər bazası strukturunu dəyişdirən və ya konfiqurasiya dəyişiklikləri tələb edən dəyişikliklər yalnız əsas buraxılışlarda təklif olunacaq. Dendrite hazırda kiçik homeserverlər və P2P qovşaqları yaratmaq üçün PostgreSQL DBMS ilə birlikdə monolit rejimdə istifadə edilməsi tövsiyə olunur. Paralel əməliyyatların idarə olunması ilə bağlı həll edilməmiş problemlər səbəbindən SQLite-dən istifadə hələ tövsiyə edilmir.
Dendrite-də hələ tətbiq olunmayan xüsusiyyətlərə mesaj qəbulu təsdiqləri, oxunma işarələri, təkan bildirişləri, OpenID, e-poçt bağlaması, server tərəfində axtarış, istifadəçi kataloqu, istifadəçinin laqeyd qalma siyahıları, qruplar və icmaların yaradılması, istifadəçinin onlayn mövcudluğunun qiymətləndirilməsi, qonaq daxiletmələri, üçüncü tərəf şəbəkələri ilə qarşılıqlı əlaqə.
Söhbət otaqları üçün əsas funksionallıqlar (yaratmaq, dəvət etmək, autentifikasiya qaydaları), otaqlarda iştirakçıları birləşdirmək vasitələri, oflayndan qayıtdıqdan sonra hadisələrin sinxronizasiyası, hesablar, profillər, yığım göstəriciləri, faylları yükləmək və yükləmək (Media API), istifadə üçün mövcuddur. mesajların, ACL-lərin redaktə edilməsi, etiketlərin bağlanması və başdan sona şifrələmə üçün cihazların və açarların siyahıları ilə işləmək.
Xatırladaq ki, mərkəzləşdirilməmiş kommunikasiyaların təşkili platforması Matrix HTTPS+JSON-dan WebSockets və ya protokola əsaslanan protokoldan istifadə etmək imkanı olan nəqliyyat kimi istifadə edir.
Şəbəkədə heç bir uğursuzluq nöqtəsi və ya mesaj nəzarəti yoxdur. Müzakirənin əhatə etdiyi bütün serverlər bir-birinə bərabərdir.
İstənilən istifadəçi öz serverini işlədə və onu ümumi şəbəkəyə qoşa bilər. Yaratmaq mümkündür
telekonfransların təşkili, səsli və video zənglərin edilməsi. O, həmçinin yazmaq barədə bildiriş, istifadəçinin onlayn mövcudluğunun qiymətləndirilməsi, oxunma təsdiqi, push bildirişləri, server tərəfində axtarış, tarixçənin və müştəri statusunun sinxronizasiyası kimi inkişaf etmiş funksiyaları dəstəkləyir.
Mənbə: opennet.ru