Dendrite, egy kommunikációs szerver a Matrix protokoll megvalósításával

A Dendrite egy kommunikációs szerver az a lét a Matrix csapat fejlesztette ki és a Matrix szerver komponensek második generációjának megvalósításaként van elhelyezve.

A Pythonban írt Synapse referencia szerverrel ellentétben a Dendrite kódot a Go fejlesztette ki. Mindkét hivatalos megvalósítást Apache 2.0 licenc alatt terjesztik.

A Ruma projekt részeként fejlesztik a Matrix szerver külön verzióját a Rust nyelven, amelyet az MIT licenc alatt terjesztenek.

Az új szerver célja a nagy hatékonyság, megbízhatóság és méretezhetőség elérése.

A Dendrite-ről

dendrit teljesítmény tekintetében megelőzi a Synapse-t, működéséhez sokkal kevesebb memória szükséges, és több csomópont közötti terheléselosztással méretezhető.

Dendrit architektúra támogatja a vízszintes méretezést, és a vezérlők mikroszolgáltatások formájában történő szétválasztásán alapul, ahol a mikroszolgáltatás minden példányának saját táblái vannak az adatbázisban.

A terheléselosztó felelős a hívások mikroszolgáltatásokba történő küldéséért. Szálakat (go rutinokat) használnak a kód műveleteinek párhuzamosítására, amelyek lehetővé teszik az összes CPU-mag erőforrásainak felhasználását anélkül, hogy azokat külön folyamatokra osztanák.

dendrit kétféle módban támogatja a munkát: monolitikus és többkomponensű (polilit).

  • Monolitikus üzemmódban Az összes mikroszolgáltatás egy futtatható fájlban van összekapcsolva, folyamatban fut, és közvetlenül kölcsönhatásba lépnek egymással.
  • Többkomponensű üzemmódban (fürt), a mikroszolgáltatások külön-külön is elindíthatók, még akkor is, ha a különböző csomópontokon sokféleség van. A komponensek interakcióját többkomponensű módban a belső HTTP API és az Apache Kafka platform segítségével hajtják végre.

A fejlesztés a Matrix protokoll specifikációi alapján és két tesztkészlet felhasználásával történik: a Synaps által használt közös sytest tesztek és az új Complement csomag.

A fejlesztés jelenlegi szakaszában a Dendrite sikeresen teljesíti a tesztek 56% -át kliens-szerver API-k és az összevonási API-tesztek 77% -a, míg a tényleges funkcionalitás lefedettségét az ügyfél-kiszolgáló API-ra 70% -ra, az összevonási API-ra pedig 95% -ra becsülik.

A béta szakasz azt jelzi, hogy a Dendrite készen áll a kezdeti telepítésre és a fejlesztésre való áttérés rendszeres új kiadásokkal. A kiadások között az adatbázis-tárolási séma mostantól frissül (ellentétben a lerakatok darabjainak telepítésével, a frissítés után az adatbázis tartalma nem fog elveszni).

Azok a változások, amelyek megszakítják a visszamenőleges kompatibilitást, megváltoztatják az adatbázis szerkezetét, vagy konfigurációs változtatásokat igényelnek, csak nagyobb kiadásokban lesznek elérhetők.

Egyelőre ajánlott a Dendrite monolit módban történő használata a PostgreSQL DBMS-mel együtt kis otthoni szerverek és P2P csomópontok létrehozására. Az SQLite használata még nem ajánlott az egyidejű műveletek kezelésével kapcsolatos megoldatlan problémák miatt.

A funkciók még nem valósultak meg a Dendrite-ben Ezek közé: üzenetek nyugtázása, könyvjelzők, push értesítések, OpenID, e-mail link, szerveroldali keresés, felhasználói könyvtár, felhasználói figyelmen kívül hagyási listák, csoportok és közösségek létrehozása, a felhasználó online jelenlétének értékelése , vendég bemenetek, interakció harmadik fél hálózataival.

A csevegőszobák működésének alapvető funkciói (létrehozás, meghívók, hitelesítési szabályok), a szobákban résztvevők összevonásának eszközei, az események szinkronizálása az offline állapotból való visszatérés után, fiókok, profilok, tárcsázási jelzés, letöltés és feltöltés A szerkesztő fájlok (Media API) elérhetők a használati üzenetekhez, az ACL-ekhez, a címkézéshez és a végpontok közötti titkosító eszközökhöz és a kulcslistákhoz.

Emlékezz erre a decentralizált kommunikáció szervezésének platformja a Matrix HTTPS + JSON-t használ a WebSockets vagy CoAP + Noise alapú protokoll használatát lehetővé tevő szállításként. A rendszer olyan szerverek közösségeként jön létre, amelyek kölcsönhatásba léphetnek egymással, és egy közös decentralizált hálózatban egyesülnek.

Az üzeneteket az összes kiszolgáló replikálja amelyhez az üzenetküldő résztvevők kapcsolódnak. Az üzenetek terjesztése a szerverek között hasonló módon történik, mint ahogyan a Git adattárak között terjednek az elkövetések.

forrás: https://matrix.org


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.