U novu servitore hè destinatu à ottene una alta efficienza, affidabilità è scalabilità. Dendrite supera a Synapse, richiede una memoria significativamente menu per operare, è pò scala per equilibriu di carica in parechji nodi. L'architettura Dendrite supporta a scala horizontale è hè basatu annantu à a separazione di i gestori in a forma di microservizi, induve ogni istanza di microserviziu hà e so tavule in a basa di dati. U bilanciatore di carica spedisce e chjama à i microservizi. Per parallelizà l'operazioni in u codice, i filamenti (vai rutini) sò usati, chì permettenu di utilizà i risorsi di tutti i core di CPU senza dividisce in prucessi separati.
Dendrite sustene dui modi: monoliticu è poliliticu. In modu monoliticu, tutti i microservizi sò imballati in un unicu schedariu eseguibile, eseguitu in un unicu prucessu, è interagisce direttamente cù l'altri. In u modu multi-cumpunente (cluster), i microservizi ponu esse lanciati separatamente, ancu distribuiti in diversi nodi. Interazione di cumpunenti in
U modu multi-componente hè realizatu utilizendu l'API è a piattaforma HTTP interna
U sviluppu hè realizatu basatu annantu à e specificazioni di u protokollu Matrix è utilizendu duie suite di teste - testi cumuni à Synapse
A fase di prova beta indica chì Dendrite hè pronta per l'implementazione iniziale è a transizione à u sviluppu cù novi versioni formate periodicamente. Trà e versioni, u schema di almacenamiento di dati in a basa di dati serà avà aghjurnatu (a cuntrariu di l'installazione di fette da u repository, u cuntenutu di a basa di dati ùn serà micca persu dopu l'aghjurnamentu). I cambiamenti chì rompenu a cumpatibilità inversa, cambianu a struttura di a basa di dati, o necessitanu cambiamenti di cunfigurazione seranu offerti solu in versioni maiò. Dendrite hè attualmente cunsigliatu per esse usatu in modu monoliticu in cunghjunzione cù u DBMS PostgreSQL per creà picculi servitori di casa è nodi P2P. L'usu di SQLite ùn hè micca cunsigliatu per via di prublemi senza risolve cù a gestione di operazioni simultanee.
E caratteristiche chì ùn sò micca state implementate in Dendrite includenu cunferma di ricevuta di messagiu, marche di lettura, notificazioni push, OpenID, associazione di e-mail, ricerca à u latu di u servitore, repertoriu di l'utilizatori, liste di ignorare l'utilizatori, creazione di gruppi è cumunità, valutà a presenza in linea di l'utilizatori, input di l'ospiti, interazzione cù e rete di terze parti.
Sò dispunibuli per l'usu sò funziunalità di basa per i chat room (creazione, inviti, regule d'autentificazione), i mezi di federazione di i participanti in stanze, a sincronizazione di l'avvenimenti dopu à u ritornu da offline, cunti, profili, indicazione di marcatura, scaricamentu è caricamentu di fugliali (Media API), edizione di missaghji, ACL, tag binding è travaglià cù listi di dispusitivi è chjave per a criptografia end-to-end.
Ricurdemu chì a piattaforma per l'urganizazione di cumunicazioni descentralizate Matrix usa HTTPS + JSON cum'è trasportu cù a capacità di utilizà WebSockets o un protokollu basatu
Ùn ci hè micca un puntu unicu di fallimentu o cuntrollu di missaghju in tutta a reta. Tutti i servitori coperti da a discussione sò uguali à l'altri.
Ogni utilizatore pò eseguisce u so servitore è cunnette à una reta cumuna. Hè pussibule di creà
l'urganizazione di teleconferenze, fà e chjama di voce è video. Supporta ancu funzioni avanzate cum'è a notificazione di digitazione, valutazione di a presenza in linea di l'utilizatori, cunferma di lettura, notificazioni push, ricerca di u servitore, sincronizazione di a storia è u statutu di u cliente.
Source: opennet.ru