Dendrite, komunikacijski strežnik z izvajanjem protokola Matrix

Dendrite je komunikacijski strežnik to je biti razvila ekipa Matrix in je pozicioniran kot izvedba druge generacije strežniških komponent Matrix.

Za razliko od referenčnega strežnika Synapse, napisanega v Pythonu, je koda Dendrite razvita v programu Go. Obe uradni izvedbi sta na voljo pod licenco Apache 2.0.

V okviru projekta Ruma se razvija ločena različica strežnika Matrix v jeziku Rust, ki se distribuira pod licenco MIT.

Nov strežnik želi doseči visoko učinkovitost, zanesljivost in razširljivost.

O Dendriteu

Dendrite je po uspešnosti pred Synapseom, za delovanje potrebuje veliko manj pomnilnika in se lahko prilagodi uravnoteženju obremenitve na več vozliščih.

Dendritna arhitektura podpira vodoravno skaliranje in temelji na ločitvi krmilnikov v obliki mikro storitev, kjer ima vsak primerek mikrostoritve svoje tabele v zbirki podatkov.

Izravnalnik obremenitve je odgovoren za pošiljanje klicev mikro storitvam. Niti (go rutine) se uporabljajo za vzporeditev operacij v kodi, kar omogoča uporabo virov vseh jeder CPU, ne da bi jih delili na ločene procese.

Dendrite podpira delo v dveh načinih: monolitni in večkomponentni (polilit).

  • V monolitnem načinu, Vse mikro storitve so povezane v izvršljivo datoteko, delujejo v procesu in neposredno medsebojno delujejo.
  • V večkomponentnem načinu (grozd) lahko mikro storitve zaženemo ločeno, tudi z različnimi različnimi vozlišči. Interakcija komponent v večkomponentnem načinu se izvaja z uporabo notranjega API-ja HTTP in platforme Apache Kafka.

Razvoj se izvaja na podlagi specifikacij protokola Matrix in z uporabo dveh sklopov testov: skupnih sinteznih testov s Synapse in novega komplementa.

Na trenutni stopnji razvoja Dendrite uspešno prestane 56% testov odjemalsko-strežniških API-jev in 77% testov API-ja federacije, medtem ko je dejanska pokritost funkcionalnosti ocenjena na 70% za API-je odjemalca-strežnika in 95% za API-je federacije.

Beta faza kaže, da je Dendrite pripravljen za začetno uvajanje in prehod na razvoj z rednimi novimi izdajami. Med izdajami se bo shema za shranjevanje baze podatkov zdaj posodobila (za razliko od namestitve kosov iz skladišča po posodobitvi vsebina baze podatkov ne bo izgubljena).

Spremembe, ki prekinejo združljivost nazaj, spremenijo strukturo baze podatkov ali zahtevajo spremembe konfiguracije, bodo na voljo le v večjih izdajah.

Za trenutek, Priporočljivo je, da Dendrite uporabljate v monolitnem načinu skupaj s PostgreSQL DBMS za ustvarjanje majhnih domačih strežnikov in vozlišč P2P. Uporaba SQLite še ni priporočljiva zaradi nerazrešenih težav pri ravnanju s sočasnimi operacijami.

Funkcije še niso implementirane v Dendriteu vključujejo: potrditve sporočil, zaznamki, potisna obvestila, OpenID, e-poštna povezava, iskanje na strežniku, uporabniški imenik, seznami prezrtih uporabnikov, ustvarjanje skupin in skupnosti, ocena uporabnikove spletne prisotnosti, vnosi gostov, interakcija s tujimi omrežji

Osnovna funkcionalnost delovanja klepetalnic (ustvarjanje, vabila, pravila za preverjanje pristnosti), način združevanja udeležencev v sobah, sinhronizacija dogodkov po vrnitvi izven povezave, računi, profili, indikacija klicanja, prenos in nalaganje datotek za urejanje (Media API) so na voljo za uporabo sporočil, ACL-jev, označevanja in šifrirnih naprav ter seznamov ključev.

Zapomni si to platforma za organiziranje decentraliziranih komunikacij Matrix uporablja HTTPS + JSON kot prevoz z možnostjo uporabe WebSockets ali protokola, ki temelji na CoAP + Noise. Sistem je oblikovan kot skupnost strežnikov, ki lahko medsebojno komunicirajo in so združeni v skupno decentralizirano omrežje.

Sporočila se kopirajo v vseh strežnikih na katero so povezani udeleženci sporočanja. Sporočila se širijo med strežniki na podoben način, kot se širijo predaje med skladišči Git.

vir: https://matrix.org


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.