Matrix protokolunun tətbiqi ilə rabitə serveri olan Dendrite 0.1.0-ın buraxılışı

nəşr edilmişdir Matrix server buraxılışı Dendrit 0.1.0, inkişafın beta test mərhələsinə keçidini qeyd etdi. Dendrite, mərkəzləşdirilməmiş rabitə platforması Matrix-in əsas tərtibatçıları komandası tərəfindən hazırlanır və Matrix server komponentlərinin ikinci nəslinin tətbiqi kimi yerləşdirilir. İstinad serverindən fərqli olaraq Synapse, Python dilində yazılmış, Dendrite kodu inkişaf edir Go dilində. Hər iki rəsmi tətbiq Apache 2.0 lisenziyası əsasında lisenziyalaşdırılıb. Layihənin hüdudlarında Ruma Matrix serverinin Rust dilində olan versiyası ayrıca hazırlanır ki, bu da yayılır MIT lisenziyası altında.

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.

Matrix protokolunun tətbiqi ilə rabitə serveri olan Dendrite 0.1.0-ın buraxılışı

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 Apaçi Kafka.

İ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. sistem testi və yeni dəst Tamamlayan. Hazırkı inkişaf mərhələsində Dendrite Client-Server API testlərinin 56%-ni və Federasiya API testlərinin 77%-ni keçir, faktiki funksionallıq əhatə dairəsi Client-Server API üçün 70% və Federasiya API üçün 95% səviyyəsində qiymətləndirilir.

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. CoAP+Səs. Sistem bir-biri ilə qarşılıqlı əlaqə qura bilən və ümumi mərkəzləşdirilməmiş şəbəkədə birləşən serverlər birliyi kimi formalaşır. Mesajlar mesajlaşma iştirakçılarının qoşulduğu bütün serverlərdə təkrarlanır. Mesajlar Git depoları arasında öhdəliyin yayılması kimi serverlər arasında yayılır. Serverin müvəqqəti dayanması halında mesajlar itirilmir, server fəaliyyətini bərpa etdikdən sonra istifadəçilərə ötürülür. Müxtəlif istifadəçi ID seçimləri dəstəklənir, o cümlədən e-poçt, telefon nömrəsi, Facebook hesabı və s.

Şə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 şlüzlər Matrisin digər protokollara əsaslanan sistemlərlə qarşılıqlı əlaqəsi üçün, məsələn, hazırladılar IRC, Facebook, Telegram, Skype, Hangouts, E-poçt, WhatsApp və Slack-ə ikitərəfli mesaj göndərmək üçün xidmətlər. Ani mətn mesajları və söhbətlərə əlavə olaraq, sistem faylları ötürmək, bildirişlər göndərmək,
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

Добавить комментарий