Megjelent a Dendrite 0.1.0, a Matrix protokollt megvalósító kommunikációs szerver

Megjelent Matrix-szerver kiadás Dendrite 0.1.0, amely jelzi a fejlesztés átállását a béta-tesztelési szakaszra. A Dendrite-ot a decentralizált kommunikációs platform Matrix fő fejlesztőcsapata fejleszti, és a Matrix második generációs szerverkomponenseként pozicionálja. A referencia szervertől eltérően, Synapse, amely Python nyelven készült, a Dendrite kódja Go nyelven fejlődik. Mindkét hivatalos megvalósítás az Apache 2.0 licenc alatt érhető el. A projekt keretében a Ruma különböző Matrix szerver megoldást fejleszt Rust nyelven, amely terjesztésre kerül MIT licenc alatt áll.

Az új szerver célja a magas hatékonyság, megbízhatóság és skálázhatóság elérése. A Dendrite a teljesítmény terén felülmúlja a Synapse-t, jelentősen kevesebb memóriát igényel a működéséhez, és több csomóponton történő terheléselosztás révén skálázható. A Dendrite architektúrája támogatja a horizontális skálázást, és a mikroszolgáltatások formájában kezeli az adatfeldolgozást, ahol minden mikroszolgáltatás példány saját adatbázistáblákkal rendelkezik. A mikroszolgáltatásokhoz való hozzáférést a terheléselosztó irányítja. A kód párhuzamosításához szálakat (go rutint) alkalmaznak, amelyek lehetővé teszik, hogy a CPU összes magját kihasználják a külön folyamatok nélküli alkalmazás során.

Megjelent a Dendrite 0.1.0, a Matrix protokollt megvalósító kommunikációs szerver

A Dendrite két üzemmódban működik — monolitikus és többkomponensű (polilith). A monolitikus módban az összes mikroszolgáltatás egy végrehajtható fájlba van összeszerelve, egy folyamatban futnak, és közvetlenül kölcsönhatásban állnak egymással. A többkomponensű (klaszter) módban a mikroszolgáltatások külön-külön is futhatnak, akár különböző csomópontokra is elosztva. Az összetevők közötti interakció
a többkomponensű módban belső HTTP API-n és az Apache Kafka.

segítségével történik. A fejlesztések a Matrix protokoll specifikációi alapján, valamint két tesztkészlet felhasználásával folynak — közös tesztek a Synapse-szal, a sytest és egy új készlet, Complement. A Dendrite jelenlegi fejlesztési szakaszában a Client-Server API tesztek 56%-át, míg a Federation API tesztek 77%-át sikeresen teljesíti, miközben a funkcionális lefedettséget a Client-Server API esetében 70%-ra, a Federation API esetében pedig 95%-ra becsülik.

A béta tesztelési szakasz azt jelzi, hogy a Dendrite készen áll a kezdeti bevezetésre, és áttérhetünk a folyamatos fejlesztésre, mely alatt rendszeres új kiadások formálódnak. Az új kiadások között a tárolási séma frissítése biztosított az adatbázisban (ellentétben a repozitóriumból való vágás telepítésével, frissítés után az adatbázis tartalma nem fog elveszni). Azok a változások, amelyek megsértik a visszafelé kompatibilitást, megváltoztatják az adatbázis struktúráját, vagy konfigurációs módosítást igényelnek, csak jelentős kiadásokban kerülnek javaslatra. A Dendite jelenleg monolitikus módban javasolt PostgreSQL adatbázissal használni, kis kezdeti szerverek (homeserver) és P2P csomópontok létrehozására. Az SQLite használata jelenleg nem ajánlott a párhuzamos műveletek kezelésének megoldatlan problémái miatt.

A Dendrite-ben még meg nem valósított lehetőségek között említést nyer a üzenetek kézhezvételének megerősítése, olvasási jelzések, push értesítések, OpenID, email-címhez való kapcsolódás, szerveroldali keresés, felhasználói katalogizálás, felhasználói figyelmen kívül hagyási listák, csoportok és közösségek létrehozása, a felhasználói jelenlét online értékelése, vendég belépések, harmadik felek hálózataival való interakció.

Elérhető a chat szobák alapvető funkcióinak használata (létrehozás, meghívók, hitelesítési szabályok), a résztvevők federációs eszközei a szobákban, események szinkronizálása offline-ból való visszatéréskor, fiókok, profilok, írásjelzés, fájlok be- és kiviteli (Media API), üzenetek szerkesztése, ACL, címkék hozzárendelése és eszközlisták és végponti kulcsok kezelése az end-to-end titkosításhoz.

Emlékeztetünk arra, hogy a Matrix decentralizált kommunikációs platform HTTPS+JSON-t használ szállítóeszközként, WebSockets vagy egy alapú protokoll lehetőségével. CoAP+Noise. A rendszer olyan kiszolgálók szöveteként formálódik, amelyek képesek egymással kölcsönhatásba lépni és egy közös decentralizált hálózatba egyesülni. Az üzenetek replikálódnak az összes kiszolgálón, amelyekhez a résztvevők csatlakozva vannak. Az üzenetek a kiszolgálók között terjednek, hasonlóan ahhoz, ahogyan a commitok terjednek a Git-repozitóriumok között. Ideiglenes kiszolgáló leállás esetén az üzenetek nem vesznek el, hanem a kiszolgáló működésének helyreállítása után jutnak el a felhasználókhoz. Támogatott különböző felhasználói azonosítók, beleértve az emailt, a telefonszámot, a Facebook-fiókot stb.

A hálózaton nincs egyetlen hibapont vagy üzenetirányítási ellenőrzés. Minden kiszolgáló, amelyről a vita folyik, egyenrangú.
Bármely felhasználó indíthat saját kiszolgálót, és csatlakoztathatja azt a közös hálózathoz. Lehetséges hídakat létrehozni a Matrix interakciójának érdekében más protokollt használó rendszerekkel, például, kiadások szolgáltatások a kétnyirányú üzenetküldéshez az IRC-n, Facebookon, Telegramon, Skype-on, Hangouts-on, Emailen, WhatsApp-on és Slack-en. Az azonnali szöveges üzenetküldés és a csevegések szervezése mellett a rendszer fájlok átkonvertálására, értesítések küldésére,
videokonferenciák szervezésére, hang- és videohívások lebonyolítására is használható. Támogatottak az olyan fejlett funkciók is, mint a gépelés értesítése, a felhasználó online jelenlétének értékelése, az olvasás megerősítése, push-értesítések, szerveroldali keresés, a történelem és a kliensek állapotának szinkronizálása.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster