Dendrite, in kommunikaasjeserver mei de ymplemintaasje fan it Matrix-protokol

Dendrite is in kommunikaasjetserver dat wurdt ûntwikkele troch it Matrix-team en it is pleatst as ymplemintaasje fan 'e twadde generaasje Matrix-serverkomponinten.

Oars as de Synapse referinsjeserver skreaun yn Python, wurdt de Dendrite-koade ûntwikkele yn Go. Beide offisjele ymplementaasjes wurde ferdield ûnder de Apache 2.0-lisinsje.

As ûnderdiel fan it Ruma-projekt wurdt in aparte ferzje fan 'e Matrix-server yn' e Rust-taal ûntwikkele, dy't wurdt ferdield ûnder de MIT-lisinsje.

De nije server stribbet nei hege effisjinsje, betrouberens en skalberberens.

Oer Dendrite

dendrite leit Synapse foar yn termen fan prestaasjes, it fereasket folle minder ûnthâld om te operearjen en kin skaalearje troch loadbalâns oer meardere knooppunten.

Dendrite-arsjitektuer stipet horizontale skaalfergrutting en is basearre op de skieding fan controllers yn 'e foarm fan mikroservices, wêr't elk eksimplaar fan in mikroservice syn eigen tabellen yn 'e databank hat.

De load balancer is ferantwurdlik foar it ferstjoeren fan oproppen nei mikroservices. Diskusjes (go-routines) wurde brûkt om operaasjes yn 'e koade te parallelisearjen, wêrtroch't de boarnen fan alle CPU-kearnen kinne wurde brûkt sûnder se te dielen yn aparte prosessen.

dendrite stipet wurk yn twa modi: monolitysk en multykomponint (polylyt).

  • Yn monolityske modus, Alle mikroservices binne keppele yn in útfierber bestân, rinne yn in proses, en ynteraksje direkt mei elkoar.
  • Yn modus foar meardere komponinten (kluster), mikroservices kinne apart wurde lansearre, sels mei ferskaat op ferskate knooppunten. Komponint ynteraksje yn modus foar meardere komponinten wurdt útfierd mei de ynterne HTTP API en it Apache Kafka platfoarm.

De ûntwikkeling wurdt útfierd op basis fan 'e spesifikaasjes fan it Matrix-protokol en mei twa sets tests: de mienskiplike sytesttests mei Synapse en de nije komplement-suite.

Op it hjoeddeistige stadium fan ûntwikkeling slagget Dendrite mei súkses 56% fan tests fan client-server APIs en 77% fan 'e federaasje API tests, wylst de werklike dekking foar funksjonaliteit wurdt rûsd op 70% foar de client-server API en 95% foar de federaasje API.

De beta-poadium jout oan dat Dendrite klear is foar earste ynset en de oergong nei ûntwikkeling mei reguliere nije releases. Tusken releases wurdt it skema foar databankopslach no bywurke (yn tsjinstelling ta it ynstallearjen fan brokken út 'e repository, sil nei de fernijing de ynhâld fan' e database net ferlern gean).

Feroaringen dy't efterkompatibiliteit brekke, de databankstruktuer feroarje of konfiguraasjewizigingen nedich binne, wurde allinich oanbean yn grutte releases.

Foar it momint, it wurdt oanrikkemandearre Dendrite te brûken yn monolityske modus tegearre mei PostgreSQL DBMS om lytse hûsservers en P2P-knopen oan te meitsjen. SQLite brûke is noch net oan te rieden fanwegen net-oploste problemen mei it ôfhanneljen fan tagelyk operaasjes.

Funksjes noch net ymplementearre yn Dendrite omfetsje: berjochtenbefestigingen, blêdwizers, push-notifikaasjes, OpenID, e-postferbining, sykjen op serverside, brûkersmap, negearlisten fan brûkers, oanmeitsjen fan groepen en mienskippen, evaluaasje fan de online oanwêzigens fan in brûker, gastynfier, ynteraksje mei netwurken fan tredden.

Basisfunksjonaliteit foar de eksploitaasje fan petearkeamers (oanmeitsjen, útnoegings, ferifikaasjeregels), middel fan federaasje fan dielnimmers yn keamers, syngronisaasje fan eveneminten nei weromkomst fan offline, akkounts, profilen, kielynindikaasje, download en upload fan Bewurkingsbestannen (Media API) binne te krijen foar berjochten foar gebrûk, ACL's, labeling en end-to-end kodearingsapparaat en kaailisten.

Tink derom dat it platfoarm foar it organisearjen fan desintralisearre kommunikaasje Matrix brûkt HTTPS + JSON as transport mei de mooglikheid om WebSockets te brûken as in protokol basearre op CoAP + Noise. It systeem wurdt foarme as in mienskip fan servers dy't mei-inoar kinne ynteraksje en wurde kombineare yn in mienskiplik desintralisearre netwurk.

Berjochten wurde oer alle servers replikeare wêrmei't de berjochtendielnimmers ferbûn binne. Berjochten wurde propagearre tusken servers op in manier fergelykber mei hoe't ferplichtingen wurde propagearre tusken Git repositories.

boarne: https://matrix.org

 


De ynhâld fan it artikel hâldt him oan ús prinsipes fan redaksje etyk, Om in flater te melden klikje hjir.

Wês de earste om kommentaar

Lit jo reaksje efter

Jo e-mailadres wurdt net publisearre.

*

*

  1. Ferantwurdlik foar de gegevens: Miguel Ángel Gatón
  2. Doel fan 'e gegevens: Control SPAM, kommentaarbehear.
  3. Legitimaasje: jo tastimming
  4. Kommunikaasje fan 'e gegevens: De gegevens wurde net oan tredden kommunisearre, útsein troch wetlike ferplichting.
  5. Gegevensopslach: Databank hoste troch Occentus Networks (EU)
  6. Rjochten: Op elk momint kinne jo jo ynformaasje beheine, herstelle en wiskje.

bool (wier)