Jaunā servera mērķis ir sasniegt augstu efektivitāti, uzticamību un mērogojamību. Dendrīts pārspēj Synapse, tā darbībai ir nepieciešams ievērojami mazāk atmiņas, un to var mērogot, izmantojot slodzes līdzsvarošanu vairākos mezglos. Dendrite arhitektūra atbalsta horizontālo mērogošanu un ir balstīta uz apdarinātāju atdalīšanu mikropakalpojumu veidā, kur katrai mikropakalpojuma instancei datu bāzē ir savas tabulas. Slodzes balansētājs nosūta zvanus uz mikropakalpojumiem. Lai paralēli darbotos kodā, tiek izmantoti pavedieni (go rutines), kas ļauj izmantot visu CPU kodolu resursus, nesadalot tos atsevišķos procesos.
Dendrīts atbalsta divus režīmus: monolītu un polilītu. Monolītā režīmā visi mikropakalpojumi ir iepakoti vienā izpildāmā failā, tiek izpildīti vienā procesā un tiešā veidā mijiedarbojas viens ar otru. Daudzkomponentu (klasteru) režīmā mikropakalpojumus var palaist atsevišķi, tostarp sadalīt dažādos mezglos. Komponentu mijiedarbība iekšā
daudzkomponentu režīms tiek veikts, izmantojot iekšējo HTTP API un platformu
Izstrāde tiek veikta, pamatojoties uz Matrix protokola specifikācijām un izmantojot divus testu komplektus - testus, kas ir kopīgi Synapse
Beta testēšanas posms norāda, ka Dendrite ir gatavs sākotnējai ieviešanai un pārejai uz izstrādi, periodiski veidojot jaunas versijas. Starp izlaidumiem datu glabāšanas shēma datu bāzē tagad tiks atjaunināta (atšķirībā no slāņu instalēšanas no repozitorija, datu bāzes saturs pēc atjaunināšanas netiks zaudēts). Izmaiņas, kas traucē atpakaļejošu saderību, maina datu bāzes struktūru vai prasa izmaiņas konfigurācijā, tiks piedāvātas tikai galvenajos laidienos. Dendrītu pašlaik ieteicams izmantot monolītā režīmā kopā ar PostgreSQL DBVS, lai izveidotu mazus mājas serverus un P2P mezglus. SQLite lietošana vēl nav ieteicama, jo nav atrisinātas problēmas ar vienlaicīgu darbību apstrādi.
Funkcijas, kas vēl nav ieviestas pakalpojumā Dendrite, ietver ziņojumu saņemšanas apstiprinājumus, lasīšanas atzīmes, push paziņojumus, OpenID, e-pasta saistīšanu, servera puses meklēšanu, lietotāju direktoriju, lietotāju ignorēšanas sarakstus, grupu un kopienu izveidi, lietotāju tiešsaistes klātbūtnes novērtēšanu, viesu ievades, mijiedarbība ar trešo pušu tīkliem.
Lietošanai ir pieejamas tērzēšanas istabu pamata funkcionalitātes (izveide, uzaicinājumi, autentifikācijas noteikumi), dalībnieku apvienošanas līdzekļi telpās, notikumu sinhronizācija pēc atgriešanās no bezsaistes, konti, profili, numura sastādīšanas indikācija, failu lejupielāde un augšupielāde (Media API), ziņojumu rediģēšana, ACL, tagu saistīšana un darbs ar ierīču un atslēgu sarakstiem pilnīgai šifrēšanai.
Atgādināsim, ka platforma decentralizētu sakaru organizēšanai Matrix izmanto HTTPS+JSON kā transportu ar iespēju izmantot WebSockets vai protokolu, kura pamatā ir
Visā tīklā nav neviena atteices punkta vai ziņojumu kontroles. Visi serveri, uz kuriem attiecas diskusija, ir līdzvērtīgi viens otram.
Jebkurš lietotājs var palaist savu serveri un savienot to ar kopēju tīklu. Ir iespējams izveidot
telekonferenču organizēšana, balss un video zvanu veikšana. Tā atbalsta arī tādas uzlabotas funkcijas kā paziņošana par rakstīšanu, lietotāja tiešsaistes klātbūtnes novērtēšana, lasīšanas apstiprinājums, push paziņojumi, servera puses meklēšana, vēstures un klienta statusa sinhronizācija.
Avots: opennet.ru