Dendrite, komunikační server s implementací protokolu Matrix

Dendrite je komunikační server to je bytí vyvinutý týmem Matrix a je umístěn jako implementace druhé generace komponent serveru Matrix.

Na rozdíl od referenčního serveru Synapse napsaného v Pythonu je kód Dendrite vyvinut v Go. Obě oficiální implementace jsou distribuovány pod licencí Apache 2.0.

V rámci projektu Ruma se vyvíjí samostatná verze serveru Matrix v jazyce Rust, který je distribuován pod licencí MIT.

Nový server si klade za cíl dosáhnout vysoké účinnosti, spolehlivosti a škálovatelnosti.

O společnosti Dendrite

Dendrit je před Synapse, pokud jde o výkon, vyžaduje mnohem méně paměti pro provoz a může být škálováno vyrovnáváním zatížení mezi více uzly.

Dendritová architektura podporuje horizontální škálování a spoléhá na oddělení ovladačů ve formě mikroslužeb, kde každá instance mikroslužby má v databázi své vlastní tabulky.

Nástroj pro vyrovnávání zatížení je zodpovědný za odesílání volání do mikroslužeb. Vlákna (rutiny go) se používají k paralelizaci operací v kódu, což umožňuje použití prostředků všech jader CPU bez jejich rozdělení do samostatných procesů.

Dendrit podporuje práci ve dvou režimech: monolitický a vícesložkový (polylit).

  • V monolitickém režimu Všechny mikroslužby jsou propojeny ve spustitelném souboru, spouštějí se v procesu a interagují přímo navzájem.
  • V multikomponentním režimu (cluster), mikroslužby lze spustit samostatně, dokonce is rozmanitostí na různých uzlech. Interakce komponent ve vícesložkovém režimu se provádí pomocí interního HTTP API a platformy Apache Kafka.

Vývoj je prováděn na základě specifikací protokolu Matrix a pomocí dvou sad testů: běžných testů sytest se Synapse a nové sady doplňků.

V současné fázi vývoje Dendrite úspěšně prošel 56% testů rozhraní API typu klient-server a 77% testů federačního rozhraní API, zatímco skutečné pokrytí funkcí se odhaduje na 70% pro rozhraní API typu klient-server a 95% pro rozhraní API federace.

Fáze beta označuje, že Dendrite je připraven k počátečnímu nasazení a přechod k vývoji s pravidelnými novými verzemi. Mezi verzemi bude nyní aktualizováno schéma úložiště databáze (na rozdíl od instalace bloků z úložiště po aktualizaci nedojde ke ztrátě obsahu databáze).

Změny, které narušují zpětnou kompatibilitu, mění strukturu databáze nebo vyžadují změny konfigurace, budou nabízeny pouze v hlavních verzích.

Pro tuto chvíli, doporučuje se používat Dendrite v monolitickém režimu společně s PostgreSQL DBMS vytvářet malé domácí servery a uzly P2P. Použití SQLite se zatím nedoporučuje kvůli nevyřešeným problémům se zpracováním souběžných operací.

Funkce ještě nejsou implementovány v Dendrite zahrnout: potvrzení zpráv, záložky, oznámení push, OpenID, e-mailový odkaz, vyhledávání na straně serveru, adresář uživatelů, seznamy ignorovaných uživatelů, vytváření skupin a komunit, hodnocení online přítomnosti uživatele , vstupy hostů, interakce se sítěmi třetích stran.

Základní funkce pro provoz chatovacích místností (tvorba, pozvánky, pravidla ověřování), prostředky federace účastníků v místnostech, synchronizace událostí po návratu z offline, účty, profily, vytáčení, stahování a nahrávání Úpravy souborů (Media API) jsou k dispozici pro použití zpráv, seznamů ACL, štítků a end-to-end šifrovacích zařízení a seznamů klíčů.

Připomeňme si, že platforma pro organizaci decentralizované komunikace Matrix používá HTTPS + JSON jako transport se schopností používat WebSockets nebo protokol založený na CoAP + Noise. Systém je vytvořen jako komunita serverů, které mohou vzájemně komunikovat a jsou kombinovány do společné decentralizované sítě.

Zprávy jsou replikovány na všech serverech ke kterému jsou účastníci zpráv připojeni. Zprávy se mezi servery šíří podobným způsobem, jakým se šíří potvrzení mezi repozitáři Git.

zdroj: https://matrix.org


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.