Dendrite, komunikacijski poslužitelj s implementacijom Matrix protokola

Dendrite je komunikacijski poslužitelj to jest biti razvio Matrix tim i pozicioniran je kao implementacija druge generacije matričnih komponenata poslužitelja.

Za razliku od referentnog poslužitelja Synapse napisanog na Pythonu, Dendrite kôd razvijen je u programu Go. Obje službene implementacije distribuiraju se pod licencom Apache 2.0.

U sklopu projekta Ruma razvija se zasebna verzija Matrix poslužitelja na jeziku Rust, koja se distribuira pod MIT licencom.

Novi poslužitelj ima za cilj postići visoku učinkovitost, pouzdanost i skalabilnost.

O Dendriteu

dendritima je ispred Synapsea po performansama, zahtijeva mnogo manje memorije za rad i može se skalirati uravnoteženjem opterećenja na više čvorova.

Dendritska arhitektura podržava horizontalno skaliranje i temelji se na odvajanju kontrolera u obliku mikroservisa, gdje svaka instanca mikrousluge ima svoje tablice u bazi podataka.

Uravnoteživač tereta odgovoran je za slanje poziva mikroservisima. Niti (go rutine) koriste se za paraleliziranje operacija u kodu, što omogućuje korištenje resursa svih CPU jezgri, bez razdvajanja u zasebne procese.

dendritima podržava rad u dva načina: monolitni i višekomponentni (polilit).

  • U monolitnom načinu, Sve su mikrousluge povezane u izvršnu datoteku, pokreću se u procesu i izravno međusobno komuniciraju.
  • U višekomponentnom načinu (klaster), mikroservisi se mogu pokretati odvojeno, čak i s raznolikošću na različitim čvorovima. Interakcija komponenata u višekomponentnom načinu provodi se pomoću internog HTTP API-ja i platforme Apache Kafka.

Razvoj se provodi na temelju specifikacija Matrix protokola i pomoću dva skupa testova: uobičajenih sytest testova sa Synapseom i novog komplementa.

U trenutnoj fazi razvoja, Dendrite uspješno prolazi 56% testova API-ja klijent-poslužitelj i 77% API testova federacije, dok se stvarna pokrivenost funkcionalnosti procjenjuje na 70% za API klijent-poslužitelj i 95% za API federacije.

Beta faza pokazuje da je Dendrite spreman za početnu implementaciju i prijelaz na razvoj redovitim novim izdanjima. Između izdanja, shema za pohranu baze podataka sada će se ažurirati (za razliku od instaliranja dijelova iz spremišta, nakon ažuriranja sadržaj baze podataka neće biti izgubljen).

Promjene koje narušavaju unatrag kompatibilnost, mijenjaju strukturu baze podataka ili zahtijevaju promjene konfiguracije bit će ponuđene samo u glavnim izdanjima.

Za sada preporučuje se upotreba Dendritea u monolitnom načinu zajedno s PostgreSQL DBMS-om za stvaranje malih kućnih poslužitelja i P2P čvorova. Korištenje SQLitea još se ne preporučuje zbog neriješenih problema s rukovanjem istodobnim operacijama.

Značajke još nisu implementirane u Dendriteu oni uključuju: potvrde poruka, oznake, push obavijesti, OpenID, veza e-pošte, pretraga na strani poslužitelja, korisnički imenik, popis korisnika zanemarenih, stvaranje grupa i zajednica, procjena prisutnosti korisnika na mreži , gostinski ulazi, interakcija s mrežama trećih strana.

Osnovna funkcionalnost rada chat soba (stvaranje, pozivnice, pravila provjere autentičnosti), način udruživanja sudionika u sobama, sinkronizacija događaja nakon povratka izvan mreže, računi, profili, indikacija biranja, preuzimanje i učitavanje Datoteke za uređivanje (Media API) dostupne su za upotrebu poruka, ACL-ova, označavanja i end-to-end encryption uređaja i popisa ključeva.

Zapamtite to platforma za organiziranje decentralizirane komunikacije Matrix koristi HTTPS + JSON kao transport s mogućnošću korištenja WebSockets ili protokola temeljenog na CoAP + Noise. Sustav je oblikovan kao zajednica poslužitelja koji mogu međusobno komunicirati i kombinirani su u zajedničkoj decentraliziranoj mreži.

Poruke se repliciraju na svim poslužiteljima na koju su povezani sudionici razmjene poruka. Poruke se šire između poslužitelja na sličan način na koji se propagira predavanje između Git spremišta.

izvor: https://matrix.org


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.