Dendrite, viestintäpalvelin, jossa on Matrix-protokolla

Dendrite on tietoliikennepalvelin se on olemista kehittänyt Matrix-tiimi ja se on sijoitettu toisen sukupolven Matrix-palvelinkomponenttien toteutukseksi.

Toisin kuin Pythonissa kirjoitettu Synapse-viitepalvelin, Dendrite-koodi on kehitetty Go: ssa. Molemmat viralliset toteutukset jaetaan Apache 2.0 -lisenssillä.

Osana Ruma-projektia kehitetään erillistä Matrix-palvelimen versiota Rust-kielellä, jota jaetaan MIT-lisenssillä.

Uusi palvelin Tavoitteena on saavuttaa korkea hyötysuhde, luotettavuus ja skaalautuvuus.

Tietoa henkilöstä Dendrite

dendrite on suorituskyvyn suhteen Synapsin edellä, se vaatii paljon vähemmän muistia toimiakseen ja voi skaalata tasapainottamalla kuormitusta useille solmuille.

Dendriittiarkkitehtuuri tukee vaakasuuntaista skaalausta ja perustuu ohjaimien erottamiseen mikropalvelujen muodossa, missä jokaisella mikropalvelun esiintymällä on omat taulukot tietokannassa.

Kuormituksen tasaaja vastaa puhelujen lähettämisestä mikropalveluihin. Lankoja (go rutiinit) käytetään koodin toimintojen rinnakkaistamiseen, mikä sallii kaikkien CPU-ytimien resurssien käyttämisen jakamatta niitä erillisiin prosesseihin.

dendrite tukee työtä kahdessa tilassa: monoliittinen ja monikomponenttinen (polyliitti).

  • Monoliittisessa tilassa Kaikki mikropalvelut on linkitetty suoritettavaan tiedostoon, ne suoritetaan prosessissa ja ovat vuorovaikutuksessa suoraan keskenään.
  • Monikomponenttisessa tilassa (klusteri), mikropalvelut voidaan käynnistää erikseen, vaikka eri solmuissa olisi monimuotoisuutta. Komponenttien vuorovaikutus monikomponenttitilassa suoritetaan käyttämällä sisäistä HTTP-sovellusliittymää ja Apache Kafka -alustaa.

Kehitys tapahtuu Matrix-protokollan spesifikaatioiden pohjalta ja käyttäen kahta testisarjaa: yhteiset testitestit Synapsin kanssa ja uusi Complement-paketti.

Nykyisessä kehitysvaiheessa Dendrite läpäisee 56% testeistä asiakas-palvelin-sovellusliittymästä ja 77 prosenttia yhdistämisen sovellusliittymän testeistä, kun taas todellisen toiminnallisuuden kattavuuden arvioidaan olevan 70 prosenttia asiakas-palvelin-sovellusliittymän ja 95 prosenttia yhdistämisen sovellusliittymän osalta.

Beetavaihe osoittaa, että Dendrite on valmis käyttöönottoon ja siirtyminen kehitykseen säännöllisten uusien julkaisujen avulla. Julkaisujen välillä tietokannan tallennustilamalli päivitetään nyt (toisin kuin palojen asentaminen arkistosta, päivityksen jälkeen tietokannan sisältö ei häviä).

Muutoksia, jotka rikkovat taaksepäin tapahtuvaa yhteensopivuutta, muuttavat tietokannan rakennetta tai vaativat kokoonpanomuutoksia, tarjotaan vain suurimmissa julkaisuissa.

Tällä hetkellä Dendritea on suositeltavaa käyttää monoliittisessa tilassa yhdessä PostgreSQL DBMS: n kanssa luoda pieniä kotipalvelimia ja P2P-solmuja. SQLiten käyttöä ei vielä suositella samanaikaisten toimintojen käsittelyyn liittyvien ratkaisemattomien ongelmien takia.

Ominaisuuksia ei ole vielä otettu käyttöön Dendritessä incluyen: viestien kuittaukset, kirjanmerkit, push-ilmoitukset, OpenID, sähköpostilinkki, palvelinpuolen haku, käyttäjähakemisto, käyttäjän ohitusluettelot, ryhmien ja yhteisöjen luominen, käyttäjän online-läsnäolon arviointi, vierailijoiden syötteet, vuorovaikutus kolmansien osapuolten verkkojen kanssa.

Keskustelutoimintojen perustoiminnot (luominen, kutsut, todennussäännöt), huoneiden osallistujien yhdistämiskeinot, tapahtumien synkronointi offline-paluun jälkeen, tilit, profiilit, valintaosoitteet, tiedostojen muokkaus (Media API) ovat käytettävissä käyttöviesteille, ACL-luetteloille, merkinnöille ja päästä päähän -salauslaitteille ja avainluetteloille.

Muista se hajautetun viestinnän järjestämisalusta Matrix käyttää HTTPS + JSONia kuljetuksena, jolla on kyky käyttää WebSocketsia tai CoAP + Noise -pohjaista protokollaa. Järjestelmä muodostuu palvelinyhteisönä, joka voi olla vuorovaikutuksessa keskenään ja yhdistetty yhteiseen hajautettuun verkkoon.

Viestit kopioidaan kaikille palvelimille johon viestinnän osallistujat ovat yhteydessä. Viestit levitetään palvelimien välillä samalla tavalla kuin Git-arkistojen välillä tapahtuvat komennot.

lähde: https://matrix.org


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.