Server anyar dituju kanggo entuk efisiensi, linuwih lan skalabilitas sing dhuwur. Dendrite ngluwihi Synapse, mbutuhake memori sing luwih sithik kanggo operate, lan bisa nggedhekake keseimbangan beban ing macem-macem kelenjar. Arsitèktur Dendrite ndhukung skala horisontal lan adhedhasar pamisahan panangan ing wangun layanan mikro, ing ngendi saben conto layanan mikro duwe tabel dhewe ing basis data. Load balancer ngirim telpon menyang layanan mikro. Kanggo paralel operasi ing kode, Utas (go rutin) digunakake, sing ngijini sampeyan kanggo nggunakake sumber daya kabeh inti CPU tanpa dibagi menyang proses kapisah.
Dendrite ndhukung rong mode: monolitik lan polylith. Ing mode monolitik, kabeh microservices dikemas ing file eksekusi siji, dieksekusi ing proses siji, lan interaksi langsung karo saben liyane. Ing mode multi-komponen (cluster), layanan mikro bisa diluncurake kanthi kapisah, kalebu disebarake ing macem-macem node. Interaksi komponen ing
mode multi-komponen digawa metu nggunakake API lan platform HTTP internal
Pangembangan ditindakake adhedhasar spesifikasi protokol Matrix lan nggunakake rong suite tes - tes sing umum kanggo Synapse
Tahap tes beta nuduhake yen Dendrite wis siyap kanggo implementasine awal lan transisi menyang pembangunan kanthi rilis anyar sing dibentuk kanthi periodik. Antarane rilis, skema panyimpenan data ing basis data saiki bakal dianyari (ora kaya nginstal irisan saka repositori, isi database ora bakal ilang sawise nganyari). Owah-owahan sing ngilangi kompatibilitas mundur, ngganti struktur database, utawa mbutuhake owah-owahan konfigurasi mung bakal ditawakake ing rilis utama. Dendrite saiki dianjurake kanggo digunakake ing mode monolitik magepokan karo PostgreSQL DBMS kanggo nggawe homeserver cilik lan simpul P2P. Panggunaan SQLite durung dianjurake amarga masalah sing ora bisa ditanggulangi nalika nangani operasi bebarengan.
Fitur sing durung dileksanakake ing Dendrite kalebu konfirmasi panrimo pesen, tandha maca, kabar push, OpenID, ikatan email, telusuran sisih server, direktori pangguna, dhaptar pangguna sing ora digatekake, nggawe grup lan komunitas, ngevaluasi kehadiran online pangguna, input tamu, interaksi karo jaringan pihak katelu.
Kasedhiya kanggo nggunakake minangka fungsi dhasar kanggo kamar chatting (nggawe, undhangan, aturan otentikasi), sarana federasi peserta ing kamar, sinkronisasi acara sawise bali saka offline, akun, profil, indikasi nelpon, ngundhuh lan ngunggah file (Media API), pesen editing, ACLs, tag naleni lan nggarap dhaptar piranti lan tombol kanggo enkripsi end-to-end.
Ayo elinga yen platform kanggo ngatur komunikasi terdesentralisasi Matrix nggunakake HTTPS+JSON minangka transportasi kanthi kemampuan nggunakake WebSockets utawa protokol adhedhasar
Ora ana titik kegagalan utawa kontrol pesen ing jaringan. Kabeh server sing dilindhungi dening diskusi padha karo saben liyane.
Sembarang pangguna bisa mbukak server dhewe lan nyambung menyang jaringan umum. Iku bisa kanggo nggawe
ngatur telekonferensi, nggawe telpon swara lan video. Uga ndhukung fitur canggih kayata kabar ngetik, evaluasi pangguna online, konfirmasi maca, kabar push, telusuran sisih server, sinkronisasi riwayat lan status klien.
Source: opennet.ru