UtslÀpp av Dendrite 0.1.0, en kommunikationsserver med implementation av Matrix-protokollet

Publicerad lansering av Matrix-server Dendrite 0.1.0, som markerade övergÄngen till beta-testning. Dendrite utvecklas av det frÀmsta teamet för den decentraliserade kommunikationsplattformen Matrix och positioneras som en implementering av den andra generationens serverkomponenter för Matrix. Till skillnad frÄn referensservern Synapse, som Àr skriven i Python, Àr koden för Dendrite utvecklas skriven i Go. BÄda officiella implementationerna distribueras under Apache 2.0-licensen. Inom projektet Ruma utvecklas separat en variant av Matrix-servern i Rust, som sprids licensieras under MIT.

Den nya servern syftar till att uppnÄ hög effektivitet, pÄlitlighet och skalbarhet. Dendrite övertrÀffar Synapse i prestanda, krÀver betydligt mindre minne för att fungera och kan skalas genom lastbalansering över flera noder. Dendrites arkitektur stöder horisontell skalning och bygger pÄ separation av hanterare i form av mikroservicer, dÀr varje instans av mikroservicen har sina egna databastabeller. Lastbalanseraren ansvarar för att dirigera anrop till mikroservicerna. För att parallellisera operationer i koden anvÀnds trÄdar (go routines), vilket gör det möjligt att utnyttja resurserna frÄn alla CPU-kÀrnor utan att dela upp dem i separata processer.

UtslÀpp av Dendrite 0.1.0, en kommunikationsserver med implementation av Matrix-protokollet

Dendrite stöder drift i tvĂ„ lĂ€gen — monolitisk och flerkomponent (polylith). I det monolitiska lĂ€get Ă€r alla mikroservicer sammanstĂ€llda i en enda körbar fil, körs i en och samma process och interagerar direkt med varandra. I det flerkomponent (kluster) lĂ€get kan mikroservicer startas individuellt, Ă€ven spridda över olika noder. Interaktionen mellan komponenterna i
det flerkomponent lÀget sker via ett internt HTTP API och plattformen Apache Kafka.

Utvecklingen baseras pĂ„ specifikationerna frĂ„n Matrix-protokollet och anvĂ€nder tvĂ„ testuppsĂ€ttningar — gemensamma tester med Synapse sytest och en ny uppsĂ€ttning Complement. Vid den aktuella utvecklingsfasen klarar Dendrite med framgĂ„ng 56 % av testerna för Client-Server API och 77 % av testerna för Federation API, dĂ€r det faktiska funktionsomfĂ„nget bedöms till 70 % för Client-Server API och 95 % för Federation API.

Betateststeget visar att Dendrite Ă€r redo för den initiala implementeringen och övergĂ„ngen till utveckling med periodiska nya utgĂ„vor. Mellan utgĂ„vorna kommer databasens lagringsschema att uppdateras (till skillnad frĂ„n installation av snitt frĂ„n repositoryt, efter uppdatering kommer innehĂ„llet i databasen inte att försvinna). Ändringar som bryter mot bakĂ„tkompatibiliteten, Ă€ndrar databasstrukturen eller krĂ€ver konfigurationsĂ€ndringar kommer endast att föreslĂ„s i betydande utgĂ„vor. Dendrite rekommenderas för nĂ€rvarande att anvĂ€ndas i monolitisk lĂ€ge tillsammans med PostgreSQL-databasen för att skapa smĂ„ ursprungsservrar (homeserver) och P2P-noder. AnvĂ€ndning av SQLite rekommenderas för nĂ€rvarande inte pĂ„ grund av olösta problem med hantering av samtidiga operationer.

Bland de funktioner som Ànnu inte har implementerats i Dendrite finns bekrÀftelse pÄ mottagna meddelanden, lÀsmarkeringar, push-notiser, OpenID, e-postkoppling, serversidan sökning, anvÀndarkatalog, ignorera anvÀndare, skapa grupper och samhÀllen, bedöma anvÀndarens nÀrvaro online, gÀstinloggningar och interaktion med externa nÀtverk.

Den grundlÀggande funktionaliteten för att arbeta med chattrum (skapa, inbjudningar, autentiseringsregler), medel för att federera deltagare i rummen, synkronisering av hÀndelser efter Äterkomst frÄn offline, konton, profiler, indikatorer för skrivande, uppladdning och överlÀmning av filer (Media API), redigering av meddelanden, ACL, taggning och arbete med enhets- och nyckellistor för end-to-end-kryptering Àr tillgÀngliga för anvÀndning.

Vi pÄminner om att plattformen för att organisera decentraliserad kommunikation Matrix anvÀnder HTTPS + JSON som transport med möjlighet att anvÀnda WebSockets eller protokollet baserat pÄ CoAP+NoiseSystemet bildas som ett samarbete av servrar som kan interagera med varandra och förenas i ett gemensamt decentraliserat nÀtverk. Meddelanden replikeras över alla servrar som deltagarna i meddelandeutbytet Àr anslutna till. Meddelanden sprids över servrarna pÄ liknande sÀtt som commits sprids mellan Git-repositories. Vid tillfÀlligt serveravbrott gÄr inga meddelanden förlorade; istÀllet överförs de till anvÀndarna efter att servern har Äterupptagit driften. Olika alternativ för anvÀndaridentifiering stöds, inklusive e-post, telefonnummer, Facebook-konto och liknande.

Det finns ingen enhetlig punkt för fel eller kontroll över meddelandena i nÀtverket. Alla servrar som omfattar diskussionen Àr jÀmlika med varandra.
Varje anvÀndare kan starta sin egen server och koppla den till det gemensamma nÀtverket. Det Àr möjligt att skapa gatewayar för att interagera Matrix med system som Àr baserade pÄ andra protokoll, exempelvis Àr förberedda tjÀnster för tvÄvÀgskommunikation i IRC, Facebook, Telegram, Skype, Hangouts, e-post, WhatsApp och Slack. Förutom omedelbar utvÀxling av textmeddelanden och organisering av chattar kan systemet anvÀndas för filöverföring, sÀndning av meddelanden,
organisering av videokonferenser, samtal samt röst- och videosamtal. Utöver det stöds Àven avancerade funktioner som textinmatningsnotifikationer, bedömning av anvÀndarens nÀrvaro online, bekrÀftelse av lÀsning, push-notiser, serverbaserad sökning, synkronisering av historik och klientstatus.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster