Dendrite, en kommunikationsserver med implementeringen af ​​Matrix-protokollen

Dendrite er en kommunikationsserver det bliver udviklet af Matrix-teamet og det er positioneret som en implementering af anden generation af Matrix-serverkomponenter.

I modsætning til Synapse-referenceserveren skrevet i Python er Dendrite-koden udviklet i Go. Begge officielle implementeringer distribueres under Apache 2.0-licensen.

Som en del af Ruma-projektet udvikles en separat version af Matrix-serveren på Rust-sproget, som distribueres under MIT-licensen.

Den nye server sigter mod at opnå høj effektivitet, pålidelighed og skalerbarhed.

Om Dendrite

dendritceller er foran Synapse med hensyn til ydeevne, det kræver meget mindre hukommelse for at fungere og kan skaleres ved belastningsbalancering på tværs af flere noder.

Dendrit arkitektur understøtter vandret skalering og er baseret på adskillelse af controllere i form af mikrotjenester, hvor hver forekomst af en mikroservice har sine egne tabeller i databasen.

Load balancer er ansvarlig for at sende opkald til mikrotjenester. Tråde (go-rutiner) bruges til at parallelisere operationer i koden, som gør det muligt at bruge ressourcerne i alle CPU-kerner uden at opdele dem i separate processer.

dendritceller understøtter arbejde i to tilstande: monolitisk og multikomponent (polylit).

  • I monolitisk tilstand, Alle mikrotjenester er forbundet i en eksekverbar fil, køres i en proces og interagerer direkte med hinanden.
  • I multikomponenttilstand (klynge), kan mikrotjenester lanceres separat, selv med forskellighed på forskellige noder. Komponentinteraktion i multikomponenttilstand udføres ved hjælp af den interne HTTP API og Apache Kafka-platformen.

Udviklingen udføres baseret på specifikationerne i Matrix-protokollen og ved hjælp af to sæt tests: de fælles sytest-tests med Synapse og den nye komplementpakke.

På det nuværende udviklingsstadium består Dendrite med succes 56% af testene af klient-server API og 77% af federation API test, mens den faktiske funktionalitetsdækning estimeres til 70% for klient-server API og 95% for federation API.

Betastadiet indikerer, at Dendrite er klar til første implementering og overgangen til udvikling med regelmæssige nye udgivelser. Mellem udgivelser opdateres databaselagringsskemaet nu (i modsætning til at installere klumper fra arkivet, vil opdateringen af ​​databasen efter opdateringen ikke gå tabt).

Ændringer, der bryder bagudkompatibilitet, ændrer databasestrukturen eller kræver konfigurationsændringer, tilbydes kun i større udgivelser.

For øjeblikket Det anbefales at bruge Dendrite i monolitisk tilstand sammen med PostgreSQL DBMS at oprette små hjemmeservere og P2P-noder. Brug af SQLite anbefales endnu ikke på grund af uløste problemer med håndtering af samtidige operationer.

Funktioner, der endnu ikke er implementeret i Dendrite De omfatter: meddelelsesbekræftelser, bogmærker, push-underretninger, OpenID, e-mail-link, serversidesøgning, brugerkatalog, bruger ignorerer lister, oprettelse af grupper og samfund, evaluering af en brugers online tilstedeværelse, gæstinput, interaktion med tredjeparts netværk.

Grundlæggende funktionalitet til drift af chatrum (oprettelse, invitationer, godkendelsesregler), middel til sammenslutning af deltagere i rum, synkronisering af begivenheder efter hjemkomst fra offline, konti, profiler, opkaldsindikation, download og upload af redigeringsfiler (Media API) er tilgængelige til brug af meddelelser, ACL'er, mærkning og end-to-end-krypteringsenhed og nøglelister.

Husk på, at platformen til organisering af decentral kommunikation Matrix bruger HTTPS + JSON som en transport med evnen til at bruge WebSockets eller en protokol baseret på CoAP + Noise. Systemet er dannet som et serverfællesskab, der kan interagere med hinanden og kombineres i et fælles decentralt netværk.

Beskeder replikeres på tværs af alle servere som meddelelsesdeltagerne er forbundet med. Beskeder formeres mellem servere på en måde svarende til, hvordan begivenheder formidles mellem Git-arkiver.

kilde: https://matrix.org


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.