Dendrite, Matrix-protokolli rakendusega sideserver

Dendrite on sideserver see on olemine töötas välja Matrixi meeskond ja see on paigutatud Matrixi serverikomponentide teise põlvkonna teostusena.

Erinevalt Pythonis kirjutatud Synapse'i viiteserverist on Dendrite'i kood välja töötatud Go-s. Mõlemat ametlikku rakendust levitatakse Apache 2.0 litsentsi alusel.

Ruma projekti raames töötatakse Matrixi serveri eraldi versiooni Rust keeles, mida levitatakse MIT-i litsentsi all.

Uus server eesmärk on saavutada kõrge efektiivsus, usaldusväärsus ja mastaapsus.

Dendrite kohta

Dendrite on jõudluse poolest Synapsist ees, see nõuab töötamiseks palju vähem mälu ja seda saab skaleerida koormuse tasakaalustamisel mitme sõlme vahel.

Dendriidi arhitektuur toetab horisontaalset skaleerimist ja põhineb kontrollerite eraldamisel mikroteenuste kujul, kus igal mikroteenuse eksemplaril on andmebaasis oma tabelid.

Mikroteenustesse helistamise eest vastutab koormuse tasakaalustaja. Koodis toimuvate toimingute paralleelseks muutmiseks kasutatakse lõime (go rutiinid), mis võimaldavad kasutada kõigi protsessori südamike ressursse, jagamata neid eraldi protsessideks.

Dendrite toetab tööd kahes režiimis: monoliitne ja mitmekomponentne (polüliit).

  • Monoliitses režiimis Kõik mikroteenused on lingitud käivitatavas failis, töötavad protsessis ja suhtlevad omavahel otse.
  • Mitmekomponendilises režiimis (klaster), mikroteenuseid saab käivitada eraldi, isegi kui need on erinevates sõlmedes mitmekesised. Komponentide interaktsioon multikomponendirežiimis toimub sisemise HTTP API ja Apache Kafka platvormi abil.

Arendus viiakse läbi Matrixi protokolli spetsifikatsioonide põhjal ja kasutades kahte testikomplekti: ühised proovitestid koos Synapse'iga ja uus Complement-komplekt.

Praeguses arenguetapis läbib Dendrite edukalt 56% testidest klient-server API-dest ja 77% föderatsiooni API testidest, samas kui tegelik funktsionaalsuse katvus on kliendi-serveri API puhul hinnanguliselt 70% ja föderatsiooni API puhul 95%.

Beetaversioon näitab, et Dendrite on esialgseks juurutamiseks valmis ja üleminek arengule regulaarsete uute väljaannetega. Väljaannete vahel ajakohastatakse nüüd andmebaasi salvestusskeemi (erinevalt tükkide installimisest hoidlast ei kao pärast värskendamist andmebaasi sisu kaduma).

Muudatusi, mis rikuvad tagasiühilduvust, muudavad andmebaasi struktuuri või nõuavad konfiguratsioonimuudatusi, pakutakse ainult suuremates väljaannetes.

Praegu Dendrite'i on soovitatav kasutada monoliitses režiimis koos PostgreSQL DBMS-iga väikeste koduserverite ja P2P-sõlmede loomiseks. SQLite'i kasutamine pole veel soovitatav samaaegsete toimingute käsitlemisel lahendamata probleemide tõttu.

Funktsioonid pole veel rakendatud aastal Dendrite sisaldama: sõnumite kinnitused, järjehoidjad, tõukemärguanded, OpenID, e-posti link, serveripoolne otsing, kasutajakataloog, kasutaja eiratud loendid, rühmade ja kogukondade loomine, kasutaja võrgusoleku hindamine, külaliste sisendid, suhtlemine kolmandate osapoolte võrkudega

Jututubade töö põhifunktsioonid (loomine, kutsed, autentimisreeglid), ruumides osalejate liitmise vahendid, sündmuste sünkroonimine pärast võrguühenduseta naasmist, kontod, profiilid, valimisteave, failide redigeerimine ja allalaadimine (Media API) on saadaval kasutussõnumite, ACL-ide, sildistamise ja end-to-end krüptimisseadmete ning võtmete loendite jaoks.

Tuletame meelde, et detsentraliseeritud side korraldamise platvorm Matrix kasutab HTTPS + JSON-i transpordivahendina, millel on võimalus kasutada WebSocketsi või CoAP + Noise'il põhinevat protokolli. Süsteem on moodustatud serverite kogukonnana, mis saavad omavahel suhelda ja on ühendatud ühtsesse detsentraliseeritud võrku.

Sõnumeid korratakse kõigis serverites millega sõnumside osalejad on ühendatud. Sõnumeid levitatakse serverite vahel sarnaselt toimingutele Giti hoidlate vahel.

allikas: https://matrix.org


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.