Kuburitswa kweDendrite 0.1.0, sevha yekutaurirana ine kushandiswa kweMatrix protocol

rakabudiswa Matrix server kuburitswa Dendrite 0.1.0, iyo yakaratidza shanduko yebudiriro kusvika padanho rekuyedza beta. Dendrite iri kuvandudzwa neiyo yakakosha timu yevagadziri veiyo decentralized communications platform Matrix uye inomisikidzwa sekuitwa kwechizvarwa chechipiri cheMatrix server zvikamu. Kusiyana nereferenzi server Synapse, yakanyorwa muPython, kodhi Dendrite inovandudza mumutauro weGo. Zvese zviri pamutemo kuita zvinopihwa rezinesi pasi peApache 2.0 rezinesi. Mumiganhu yeprojekti Room Shanduro yeMatrix server mumutauro weRust iri kugadzirwa zvakasiyana, iyo inoparadzirwa ne pasi peMIT rezinesi.

Iyo sevha nyowani ine chinangwa chekuwana kugona kwakanyanya, kuvimbika uye scalability. Dendrite inodarika Synapse, inoda zvakanyanya kushoma ndangariro kuti ishande, uye inogona kukwira kuburikidza nekuremedza kuenzanisa munzvimbo dzakawanda. Iyo dhizaini yeDendrite inotsigira yakatwasuka kuyera uye yakavakirwa pakuparadzaniswa kwevanobata muchimiro chemicroservices, apo imwe neimwe microservice muenzaniso ine matafura ayo mudhatabhesi. Iyo inoremedza balancer inotumira mafoni kune microservices. Kufananidza mashandiro mukodhi, tambo (enda routines) dzinoshandiswa, izvo zvinokutendera kuti ushandise zviwanikwa zveese CPU cores pasina kuzvipatsanura kuita zvakasiyana.

Kuburitswa kweDendrite 0.1.0, sevha yekutaurirana ine kushandiswa kweMatrix protocol

Dendrite inotsigira maviri modes: monolithic uye polylith. Mune monolithic modhi, ese mamicroservices akaiswa mufaira rimwechete rinogoneka, rinoitwa mune imwechete maitiro, uye anodyidzana zvakananga kune mumwe nemumwe. Mu-multi-component (cluster) mode, microservices inogona kutangwa zvakasiyana, kusanganisira kugoverwa munzvimbo dzakasiyana-siyana. Kudyidzana kwezvikamu mu
multi-component mode inoitwa uchishandisa yemukati HTTP API uye chikuva Apache Kafka.

Kubudirira kunoitwa zvichibva paMatrix protocol yakatarwa uye kushandisa maviri bvunzo masutu - bvunzo dzakajairika kuSynapse sytest uye seti itsva Kukwanirisa. Padanho razvino rebudiriro, Dendrite inopfuura 56% yeClient-Server API bvunzo uye 77% yeFederation API bvunzo, nepo chaiyo yekushanda kufukidzwa inofungidzirwa pa70% yeClient-Server API uye 95% yeFederation API.

Iyo beta yekuyedza nhanho inoratidza kuti Dendrite yakagadzirira kuitiswa kwekutanga uye shanduko yekuvandudza nekuburitswa kutsva nguva nenguva kunogadzirwa. Pakati pekuburitswa, chirongwa chekuchengetedza data mudhatabhesi chave chagadziridzwa (kusiyana nekuisa zvimedu kubva kune repository, zviri mukati medhatabhesi hazvizorasikirwe mushure mekuvandudzwa). Shanduko dzinotyora kumashure kuenderana, shandura iyo dhatabhesi chimiro, kana inoda shanduko yekumisikidza inongopihwa mukuburitswa kukuru. Dendrite parizvino inokurudzirwa kuti ishandiswe mune monolithic modhi yakabatana nePostgreSQL DBMS kugadzira madiki epamba uye P2P node. Kushandiswa kweSQLite hakusati kwakurudzirwa nekuda kwenyaya dzisina kugadziriswa nekubata mabasa panguva imwe chete.

Zvimiro zvisati zvaitwa muDendrite zvinosanganisira zvisimbiso zvekugamuchira meseji, kuverenga mamaki, push notices, OpenID, email binding, server-side search, user directory, user ignore list, kugadzira mapoka nenharaunda, kuongorora kuvapo kwevashandisi pamhepo, zvevaenzi, kusangana nevechitatu-bato network.

Inowanikwa kuti ishandiswe ibasa rekutanga remakamuri ekutaura (kugadzira, kukoka, mitemo yechokwadi), nzira dzemubatanidzwa wevatori vechikamu mumakamuri, kuwiriranisa kwezviitiko mushure mekudzoka kubva kunze kwenyika, maakaundi, maprofile, kufona chiratidzo, kurodha uye kurodha mafaera (Media API), kugadzirisa mameseji, ACLs, tag kusunga uye kushanda nemazita emidziyo nemakiyi ekupedzisira-kusvika-kumagumo encryption.

Ngatiyeukei kuti chikuva chekuronga decentralized communications Matrix inoshandisa HTTPS + JSON sechokufambisa chine mukana wekushandisa WebSockets kana protocol yakavakirwa pa. CoAP+ruzha. Iyo sisitimu inoumbwa senharaunda yemaseva anogona kudyidzana uye akabatana kuita yakajairika decentralized network. Mameseji anodzokororwa pamasevha ese ane vatori vechikamu mameseji akabatana. Mharidzo dzinoparidzwa pamasevha nenzira imwechete iyo inoita inoparadzirwa pakati peGit repositories. Muchiitiko chekudzima kwechinguva, mameseji haarasikirwe, asi anotumirwa kune vashandisi mushure mekunge sevha yatangazve kushanda. Yakasiyana-siyana yevashandisi ID sarudzo dzinotsigirwa, kusanganisira email, nhamba yefoni, Facebook account, nezvimwe.

Iko hakuna imwe poindi yekutadza kana meseji kutonga pane network. Masevha ese akafukidzwa nehurukuro akaenzana kune mumwe nemumwe.
Chero mushandisi anogona kumhanyisa sevha yake uye oibatanidza kune yakajairika network. Zvinokwanisika kugadzira magedhi yekudyidzana kweMatrix nemasisitimu akavakirwa pane mamwe maprotocol, semuenzaniso, yakagadzirirwa masevhisi enzira mbiri dzekutumira mameseji kuIRC, Facebook, Telegraph, Skype, Hangouts, Email, WhatsApp uye Slack. Pamusoro pekutumira mameseji nekukurumidza uye chats, iyo system inogona kushandiswa kuendesa mafaera, kutumira zviziviso,
kuronga teleconferences, kuita izwi uye vhidhiyo kufona. Iyo zvakare inotsigira akadai maficha epamberi sekuzivisa kutaipa, kuongororwa kwevashandisi kuvepo kwepamhepo, kuverenga simbiso, push notices, server-side kutsvaga, kuwiriranisa kwenhoroondo uye chimiro chevatengi.

Source: opennet.ru

Voeg