Ukukhishwa kwe-Dendrite 0.1.0, iseva yokuxhumana esebenzisa iphrothokholi ye-Matrix

eshicilelwe Ukukhishwa kweseva ye-Matrix I-Dendrite 0.1.0, okuphawule ukuguqulwa kwentuthuko kusigaba sokuhlola i-beta. I-Dendrite ithuthukiswa ithimba eliwumgogodla labathuthukisi benkundla yezokuxhumana ehlukaniselwe amazwe i-Matrix futhi ibekwe njengokuqaliswa kwesizukulwane sesibili sezingxenye zeseva ye-Matrix. Ngokungafani neseva yereferensi Synapse, ebhalwe ngePython, ikhodi ethi Dendrite iyathuthuka ngolimi lwe-Go. Kokubili ukusetshenziswa okusemthethweni kunikezwe ilayisense ngaphansi kwelayisensi ye-Apache 2.0. Emingceleni yephrojekthi URuma Inguqulo yeseva ye-Matrix ngolimi lwe-Rust ithuthukiswa ngokuhlukana, okuyinto isatshalaliswa ngu ngaphansi kwelayisensi ye-MIT.

Iseva entsha ihloselwe ukuzuza ukusebenza kahle okuphezulu, ukwethembeka kanye nokulinganisa. I-Dendrite idlula i-Synapse, idinga inkumbulo encane kakhulu ukuze isebenze, futhi ingakala ngokulinganisa komthwalo kuwo wonke ama-node amaningi. Isakhiwo se-Dendrite sisekela ukukala okuvundlile futhi sisekelwe ekuhlukaniseni izibambi ngendlela yama-microservices, lapho isenzakalo ngasinye se-microservice sinamathebula aso kusizindalwazi. Isilinganisi somthwalo sithumela izingcingo kuma-microservices. Ukufanisa ukusebenza kukhodi, izintambo (izindlela zokuhamba) zisetshenziswa, ezikuvumela ukuthi usebenzise izinsiza zawo wonke ama-CPU cores ngaphandle kokuwahlukanisa ngezinqubo ezihlukene.

Ukukhishwa kwe-Dendrite 0.1.0, iseva yokuxhumana esebenzisa iphrothokholi ye-Matrix

I-Dendrite isekela izindlela ezimbili: i-monolithic ne-polylith. Kumodi ye-monolithic, wonke ama-microservices apakishwa efayeleni elilodwa elisebenzisekayo, enziwa ngenqubo eyodwa, futhi asebenzisana ngokuqondile. Kumodi yezingxenye eziningi (iqoqo), ama-microservices angaqaliswa ngokuhlukana, okuhlanganisa nokusatshalaliswa kumanodi ahlukene. Ukusebenzisana kwezingxenye ku
Imodi yezingxenye eziningi yenziwa kusetshenziswa i-HTTP API yangaphakathi neplathifomu Apache Kafka.

Ukuthuthukiswa kwenziwa ngokusekelwe ezicacisweni zephrothokholi ye-Matrix nokusebenzisa amasudi okuhlola amabili - ukuhlola okuvamile ku-Synapse sytest kanye nesethi entsha Qeda. Esigabeni samanje sokuthuthuka, i-Dendrite iphase u-56% wokuhlolwa kwe-Client-Server API kanye no-77% wokuhlolwa kwe-Federation API, kuyilapho ukufakwa kwangempela kokusebenza kulinganiselwa ku-70% ku-Client-Server API kanye no-95% we-Federation API.

Isigaba sokuhlola i-beta sibonisa ukuthi i-Dendrite isilungele ukusetshenziswa kwasekuqaleni kanye nokushintshela ekuthuthukisweni ngokukhishwa okusha okwakhiwa ngezikhathi ezithile. Phakathi kokukhishwa, uhlelo lokugcina idatha kusizindalwazi manje luzobuyekezwa (ngokungafani nokufaka izingcezu endaweni yokugcina, okuqukethwe kusizindalwazi ngeke kulahleke ngemva kokubuyekezwa). Izinguquko eziphula ukuhambisana okubuyela emuva, ezishintsha ukwakheka kwesizindalwazi, noma ezidinga izinguquko zokumisa zizonikezwa kuphela ekukhishweni okukhulu. I-Dendrite okwamanje iyanconywa ukuthi isetshenziswe kumodi ye-monolithic ngokubambisana ne-PostgreSQL DBMS ukuze udale ama-homeservers amancane namanodi e-P2P. Ukusetshenziswa kwe-SQLite akukanconyiwe ngenxa yezinkinga ezingaxazululiwe zokuphatha imisebenzi ngesikhathi esisodwa.

Izici ezingakasetshenziswa ku-Dendrite zifaka phakathi iziqinisekiso zokutholwa komlayezo, amamaki afundiwe, izaziso zohlelo lokusebenza, i-OpenID, ukubophezela kwe-imeyili, ukusesha ohlangothini lweseva, uhla lwemibhalo lwabasebenzisi, uhlu lokuziba lomsebenzisi, ukudala amaqembu nemiphakathi, ukuhlola ukuba khona komsebenzisi ku-inthanethi, okokufaka kwesivakashi, ukusebenzisana namanethiwekhi ezinkampani zangaphandle.

Okutholakalayo ukuze kusetshenziswe ukusebenza okuyisisekelo kwezingosi zokuxoxa (ukudala, izimemo, imithetho yokuqinisekisa), izindlela zokuhlanganisa abahlanganyeli emakamelweni, ukuvumelanisa imicimbi ngemva kokubuya kokungaxhunyiwe ku-inthanethi, ama-akhawunti, amaphrofayili, inkomba yokudayela, ukulanda nokulayisha amafayela (Media API), ukuhlela imilayezo, ama-ACL, ukubophezela umaka nokusebenza ngohlu lwamadivayisi nokhiye bokubethela ngasemaphethelweni.

Masikhumbule ukuthi inkundla yokuhlela ukuxhumana okuhlukaniselwe i-Matrix isebenzisa i-HTTPS+JSON njengesithuthi esinamandla okusebenzisa i-WebSockets noma iphrothokholi esekelwe I-COAP+Noise. Uhlelo lwakhiwe njengomphakathi wamaseva angakwazi ukusebenzisana namanye futhi ahlanganiswe abe inethiwekhi efanayo ehlukaniselwe izindawo. Imilayezo iphindaphindwa kuwo wonke amaseva lapho abahlanganyeli bemilayezo baxhumeke khona. Imilayezo isakazwa kuwo wonke amaseva ngendlela efanayo naleyo eyenziwa ngayo isakazwa phakathi kwamakhosombe e-Git. Esimeni lapho iseva inqamuka, imilayezo ayilahleki, kodwa idluliselwa kubasebenzisi ngemva kokuba iseva iqale ukusebenza. Izinketho ezihlukahlukene ze-ID yomsebenzisi ziyasekelwa, okuhlanganisa i-imeyili, inombolo yocingo, i-akhawunti ye-Facebook, njll.

Alikho iphuzu elilodwa lokwehluleka noma ukulawula umlayezo kuyo yonke inethiwekhi. Wonke amaseva ahlanganiswe engxoxweni ayalingana namanye.
Noma yimuphi umsebenzisi angasebenzisa iseva yakhe futhi ayixhume kunethiwekhi evamile. Kungenzeka ukudala amasango ngokusebenzisana kwe-Matrix nezinhlelo ezisuselwe kwezinye izivumelwano, isibonelo, ilungisiwe izinsiza zokuthumela imiyalezo ngezindlela ezimbili ku-IRC, Facebook, Telegraph, Skype, Hangouts, Email, WhatsApp kanye ne-Slack. Ngaphezu kokuthumela imiyalezo esheshayo nezingxoxo, uhlelo lungasetshenziswa ukudlulisa amafayela, ukuthumela izaziso,
ukuhlela ama-teleconferences, ukwenza izingcingo zezwi nezevidiyo. Iphinde isekele izici ezithuthukile njengesaziso sokuthayipha, ukuhlolwa kokuba khona komsebenzisi ku-inthanethi, ukuqinisekiswa kokufunda, izaziso zohlelo lokusebenza, ukusesha ohlangothini lweseva, ukuvumelanisa umlando kanye nesimo seklayenti.

Source: opennet.ru

Engeza amazwana