Dendrite, një server komunikimi me implementimin e protokollit Matricë

Dendrite është një server komunikimi që është duke u zhvilluar nga ekipi i Matrix dhe pozicionohet si një implementim i gjeneratës së dytë të përbërësve të serverit Matrix.

Ndryshe nga serveri i referencës Synapse i shkruar në Python, kodi Dendrite është zhvilluar në Go. Të dy zbatimet zyrtare shpërndahen nën licencën Apache 2.0.

Si pjesë e projektit Ruma, është duke u zhvilluar një version i veçantë i serverit Matrix në gjuhën Rust, i cili shpërndahet nën licencën MIT.

Serveri i ri synon të arrijë efikasitet, besueshmëri dhe shkallëzim të lartë.

Rreth Dendrite

Dendrite është përpara Synapse për sa i përket performancës, kërkon shumë më pak memorie për të funksionuar dhe mund të shkallëzohet duke balancuar ngarkesën nëpër nyje të shumta.

Arkitektura e Dendrite mbështet shkallëzimin horizontal dhe bazohet në ndarjen e kontrollorëve në formën e mikrosherbimeve, ku secila instancë e një mikrosherbimi ka tabelat e veta në bazën e të dhënave.

Balancuesi i ngarkesës është përgjegjës për dërgimin e thirrjeve në mikrosherbime. Threads (rutinat go) përdoren për të paralelizuar operacionet në kod, të cilat lejojnë që burimet e të gjitha bërthamave të CPU të përdoren pa i ndarë ato në procese të ndara.

Dendrite mbështet punën në dy mënyra: monolit dhe shumë përbërës (polititi).

  • Në mënyrën monolit, Të gjitha mikro-shërbimet janë të lidhura në një skedar të ekzekutueshëm, ekzekutohen në një proces dhe bashkëveprojnë drejtpërdrejt me njëri-tjetrin.
  • Në modalitetin me shumë përbërës (kllaster), mikrosherbimet mund të lëshohen veçmas, madje edhe me shumëllojshmëri në nyje të ndryshme. Ndërveprimi i përbërësit në modalitetin shumë përbërës kryhet duke përdorur HTI API të brendshëm dhe platformën Apache Kafka.

Zhvillimi kryhet bazuar në specifikimet e protokollit Matrix dhe duke përdorur dy grupe testesh: testet e zakonshme sytest me Synapse dhe kompletin e ri të Komplementit.

Në fazën aktuale të zhvillimit, Dendrite kalon me sukses 56% të testeve të API-ve klient-server dhe 77% të testeve të federatës API, ndërsa mbulimi aktual i funksionalitetit vlerësohet në 70% për API klient-server dhe 95% për API-në e federatës.

Faza beta tregon që Dendrite është gati për vendosjen fillestare dhe kalimi në zhvillim me lëshime të reja të rregullta. Midis lëshimeve, skema e ruajtjes së bazës së të dhënave tani do të azhurnohet (ndryshe nga instalimi i copave nga depoja, pas azhurnimit, përmbajtja e bazës së të dhënave nuk do të humbasë).

Ndryshimet që prishin pajtueshmërinë e prapambetur, ndryshojnë strukturën e bazës së të dhënave ose kërkojnë ndryshime të konfigurimit do të ofrohen vetëm në botimet kryesore.

Per momentin, rekomandohet të përdorni Dendrite në modalitetin monolit së bashku me PostgreSQL DBMS për të krijuar servera të vegjël në shtëpi dhe nyje P2P. Përdorimi i SQLite nuk rekomandohet ende për shkak të çështjeve të pazgjidhura me trajtimin e operacioneve të njëkohshme.

Karakteristikat nuk janë zbatuar ende në Dendrite ato përfshijnë: njohjet e mesazheve, faqeshënuesit, njoftimet e shtypjes, OpenID, lidhja e postës elektronike, kërkimi nga ana e serverit, drejtori i përdoruesit, listat e injorimit të përdoruesit, krijimi i grupeve dhe bashkësive, vlerësimi i pranisë në internet të një përdoruesi , inputet e mysafirëve, ndërveprimi me rrjetet e palëve të treta.

Funksionaliteti themelor për funksionimin e dhomave të bisedës (krijimi, ftesat, rregullat e vërtetimit), mjetet e federatës së pjesëmarrësve në dhoma, sinkronizimi i ngjarjeve pas kthimit nga linja, llogaritë, profilet, treguesi i thirrjes, shkarkimi dhe ngarkimi i Skedarët e redaktimit (Media API) janë të disponueshëm për përdorimin e mesazheve, ACL, etiketimin dhe pajisjen e kodimit nga fundi në fund dhe listat e çelësave.

Kujtojnë se platforma për organizimin e komunikimit të decentralizuar Matrica përdor HTTPS + JSON si një transport me aftësinë për të përdorur WebSockets ose një protokoll i bazuar në CoAP + Zhurma. Sistemi formohet si një bashkësi serverësh që mund të bashkëveprojnë me njëri-tjetrin dhe kombinohen në një rrjet të përbashkët të decentralizuar.

Mesazhet përsëriten në të gjithë serverat me të cilën janë të lidhur pjesëmarrësit e mesazheve. Mesazhet përhapen midis serverave në një mënyrë të ngjashme me mënyrën se si komitetet përhapen midis depove të Git.

Fuente: https://matrix.org


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.