Dendrite 0.1.0 kaleratzea, Matrix protokoloaren ezarpena duen komunikazio zerbitzaria

argitaratua Matrix zerbitzariaren kaleratzea Dendrita 0.1.0, garapenaren trantsizioa beta probaren fasera markatu zuen. Dendrite Matrix komunikazio-plataforma deszentralizatuko garatzaileen talde nagusia garatzen ari da eta Matrix zerbitzariaren osagaien bigarren belaunaldiaren ezarpen gisa kokatzen da. Erreferentzia zerbitzaria ez bezala Sinapsis, Python-en idatzia, Dendrita kodea garatzen da Go hizkuntzan. Bi inplementazio ofizialak Apache 2.0 lizentziapean daude. Proiektuaren mugetan Gela Rust hizkuntzan Matrix zerbitzariaren bertsio bat bereizita garatzen ari da, hau da arabera banatuta MIT lizentziapean.

Zerbitzari berriak eraginkortasun, fidagarritasun eta eskalagarritasun handia lortzera zuzenduta dago. Dendritak Synapse gainditzen du, memoria askoz gutxiago behar du funtzionatzeko eta karga-orekatze bidez eskala daiteke hainbat nodotan. Dendrite arkitekturak eskalatze horizontala onartzen du eta kudeatzaileak mikrozerbitzu moduan bereizten ditu, non mikrozerbitzuen instantzia bakoitzak bere taulak dituen datu-basean. Karga-orekatzaileak deiak bidaltzen ditu mikrozerbitzuetara. Kodean eragiketak paralelizatzeko, hariak (go errutinak) erabiltzen dira, CPU nukleo guztien baliabideak prozesu bereizietan banatu gabe erabiltzeko aukera ematen dutenak.

Dendrite 0.1.0 kaleratzea, Matrix protokoloaren ezarpena duen komunikazio zerbitzaria

Dendritak bi modu onartzen ditu: monolitikoa eta polilitoa. Modu monolitikoan, mikrozerbitzu guztiak fitxategi exekutagarri bakarrean biltzen dira, prozesu bakar batean exekutatzen dira eta elkarren artean zuzenean elkarreragiten dute. Osagai anitzeko (kluster) moduan, mikrozerbitzuak bereizita abiarazi daitezke, nodo ezberdinetan banatuta barne. Osagaien elkarrekintza
osagai anitzeko modua barne HTTP API eta plataforma erabiliz egiten da Apache Kafka.

Garapena Matrix protokoloaren zehaztapenetan oinarrituta eta bi proba-multzo erabiliz egiten da - Synapse-ren ohiko probak sytest eta multzo berri bat osagarria. Gaur egungo garapen-fasean, Dendritek Bezero-Zerbitzari API proben % 56 eta Federation API proben % 77 gainditzen ditu, eta benetako funtzionalitateen estaldura % 70eko bezero-zerbitzariaren APIrako eta % 95eko Federazio APIrako.

Beta probaren faseak adierazten du Dendrite prest dagoela hasierako inplementaziorako eta garapenerako trantsiziorako aldian-aldian bertsio berriekin. Argitalpenen artean, datu-baseko datuak biltegiratzeko eskema eguneratuko da orain (biltegiko xerrak instalatzean ez bezala, datu-basearen edukia ez da eguneratu ondoren galduko). Atzerako bateragarritasuna hautsi, datu-basearen egitura aldatzen edo konfigurazio aldaketak eskatzen dituzten aldaketak bertsio nagusietan bakarrik eskainiko dira. Modu monolitikoan erabiltzea gomendatzen da Dendrita PostgreSQL DBMS-ekin batera etxe-zerbitzari txikiak eta P2P nodoak sortzeko. Oraindik ez da gomendatzen SQLite erabiltzea, aldibereko eragiketak kudeatzeko konpondu gabeko arazoengatik.

Dendriten oraindik inplementatu ez diren funtzioak honako hauek dira: mezuak jasotzeko baieztapenak, irakurketa markak, push jakinarazpenak, OpenID, posta elektronikoaren lotura, zerbitzariaren aldeko bilaketa, erabiltzaileen direktorioa, erabiltzaileak ez ikusiaren zerrendak, taldeak eta komunitateak sortzea, erabiltzaileen lineako presentzia ebaluatzea, gonbidatuen sarrerak, hirugarrenen sareekin elkarrekintza.

Erabiltzeko erabilgarri daude txat geletarako oinarrizko funtzionalitateak (sorkuntza, gonbidapenak, autentifikazio-arauak), parte-hartzaileak geletan federatzeko bideak, lineaz kanpo itzuli ondoren gertaeren sinkronizazioa, kontuak, profilak, markatze-adierazpena, fitxategiak deskargatu eta kargatzea (Media APIa), mezuak editatzea, ACLak, etiketak lotzea eta gailu eta gakoen zerrendekin lan egitea muturreko enkriptatzeko.

Gogora dezagun Matrix komunikazio deszentralizatuak antolatzeko plataformak HTTPS+JSON erabiltzen duela garraio gisa, WebSockets edo protokolo bat erabiltzeko gaitasuna duena. KoAP+Zarata. Sistema elkarren artean elkarreragin dezaketen eta sare deszentralizatu komun batean elkartuta dauden zerbitzarien komunitate gisa eratzen da. Mezuak mezularitzako parte-hartzaileak konektatuta dauden zerbitzari guztietan errepikatzen dira. Mezuak zerbitzarietan zehar hedatzen dira konpromisoak Git biltegien artean hedatzen diren modu berean. Aldi baterako zerbitzariaren etenaldi bat gertatuz gero, mezuak ez dira galtzen, baina erabiltzaileei transmititzen zaizkie zerbitzariak funtzionatzen hasi ondoren. Erabiltzaile ID aukera desberdinak onartzen dira, posta elektronikoa, telefono zenbakia, Facebook kontua, etab.

Ez dago hutsegite puntu bakarra edo mezuen kontrola sarean zehar. Eztabaidak hartzen dituen zerbitzari guztiak elkarren berdinak dira.
Edozein erabiltzailek bere zerbitzaria exekutatu eta sare komun batera konektatu dezake. Sortzea posible da pasabideak Matrix-ek beste protokolo batzuetan oinarritutako sistemekin elkarrekintzarako, adibidez, prestatuta IRC, Facebook, Telegram, Skype, Hangouts, Email, WhatsApp eta Slack-era mezuak bidaltzeko zerbitzuak. Berehalako testu-mezuez eta txatez gain, sistema fitxategiak transferitzeko, jakinarazpenak bidaltzeko,
telekonferentziak antolatzea, ahots eta bideo deiak egitea. Ezaugarri aurreratuak ere onartzen ditu idazketaren jakinarazpena, erabiltzailearen lineako presentziaren ebaluazioa, irakurketaren berrespena, push jakinarazpenak, zerbitzariaren aldeko bilaketa, historiaren sinkronizazioa eta bezeroaren egoera.

Iturria: opennet.ru

Gehitu iruzkin berria