Издање Дендрите 0.1.0, комуникационог сервера са имплементацијом Матрик протокола

објављено Издање матричног сервера Дендрит 0.1.0, који је означио прелазак развоја у фазу бета тестирања. Дендрите развија главни тим програмера децентрализоване комуникационе платформе Матрик и позициониран је као имплементација друге генерације компоненти Матрик сервера. За разлику од референтног сервера Синапсе, написан у Питхон-у, код Дендрите се развија на језику Го. Обе званичне имплементације су лиценциране под лиценцом Апацхе 2.0. У границама пројекта рума Одвојено се развија верзија Матрик сервера на језику Руст, која дистрибуира под лиценцом МИТ-а.

Нови сервер има за циљ постизање високе ефикасности, поузданости и скалабилности. Дендрит надмашује Синапсе, захтева знатно мање меморије за рад и може да се скалира кроз балансирање оптерећења на више чворова. Архитектура Дендрите подржава хоризонтално скалирање и заснива се на раздвајању руковалаца у облику микросервиса, где свака микросервисна инстанца има своје табеле у бази података. Балансатор оптерећења шаље позиве микросервисима. За паралелизовање операција у коду користе се нити (го рутине), које вам омогућавају да користите ресурсе свих ЦПУ језгара без поделе у засебне процесе.

Издање Дендрите 0.1.0, комуникационог сервера са имплементацијом Матрик протокола

Дендрит подржава два начина рада: монолитни и полилитни. У монолитном режиму, све микросервисе су упаковане у једну извршну датотеку, извршавају се у једном процесу и међусобно директно комуницирају. У вишекомпонентном (кластерском) режиму, микросервис се може покренути одвојено, укључујући дистрибуцију кроз различите чворове. Интеракција компоненти у
вишекомпонентни режим се спроводи коришћењем интерног ХТТП АПИ-ја и платформе Апацхе Кафка.

Развој се врши на основу спецификација Матрик протокола и коришћењем два скупа тестова - тестова заједничких за Синапсе ситест и нови сет Комплемент. У тренутној фази развоја, Дендрите пролази 56% Цлиент-Сервер АПИ тестова и 77% Федерал АПИ тестова, док се стварна покривеност функционалности процењује на 70% за Цлиент-Сервер АПИ и 95% за АПИ Федерације.

Фаза бета тестирања показује да је Дендрите спреман за почетну имплементацију и прелазак на развој са периодично формираним новим издањима. Између издања, шема складиштења података у бази података ће се сада ажурирати (за разлику од инсталирања резова из спремишта, садржај базе података неће бити изгубљен након ажурирања). Промене које нарушавају компатибилност уназад, мењају структуру базе података или захтевају промене конфигурације биће понуђене само у главним издањима. Дендрит се тренутно препоручује да се користи у монолитном режиму у комбинацији са ПостгреСКЛ ДБМС за креирање малих кућних сервера и П2П чворова. Употреба СКЛите-а се још увек не препоручује због нерешених проблема са руковањем истовременим операцијама.

Функције које још нису имплементиране у Дендрите-у укључују потврде пријема порука, ознаке за читање, пусх обавештења, ОпенИД, везивање е-поште, претрагу на страни сервера, кориснички именик, листе игнорисања корисника, креирање група и заједница, процену присуства корисника на мрежи, уносе гостију, интеракција са мрежама трећих страна.

Доступне за коришћење су основне функционалности за цхат собе (креирање, позивнице, правила аутентификације), начини удруживања учесника у собе, синхронизација догађаја по повратку из офлајн, налози, профили, индикација бирања, преузимање и отпремање фајлова (Медиа АПИ), уређивање порука, АЦЛ-ова, везивање ознака и рад са листама уређаја и кључева за енд-то-енд енкрипцију.

Подсетимо се да платформа за организовање децентрализованих комуникација Матрик користи ХТТПС+ЈСОН као транспорт са могућношћу коришћења ВебСоцкетс-а или протокола заснованог на ЦоАП+Бука. Систем је формиран као заједница сервера који могу међусобно да комуницирају и који су уједињени у заједничку децентрализовану мрежу. Поруке се реплицирају на свим серверима на које су повезани учесници у размјени порука. Поруке се пропагирају преко сервера на исти начин на који се урезивања пропагирају између Гит спремишта. У случају привременог прекида рада сервера, поруке се не губе, већ се шаљу корисницима након што сервер настави са радом. Подржане су различите опције корисничког ИД-а, укључујући е-пошту, број телефона, Фацебоок налог итд.

Не постоји јединствена тачка квара или контрола порука широм мреже. Сви сервери обухваћени дискусијом су међусобно једнаки.
Сваки корисник може покренути сопствени сервер и повезати га на заједничку мрежу. Могуће је створити капије за интеракцију Матрик-а са системима заснованим на другим протоколима, нпр. припремљен услуге за двосмерно слање порука на ИРЦ, Фацебоок, Телеграм, Скипе, Хангоутс, е-пошту, ВхатсАпп и Слацк. Поред тренутних текстуалних порука и ћаскања, систем се може користити за пренос датотека, слање обавештења,
организовање телеконференција, гласовне и видео позиве. Такође подржава такве напредне функције као што су обавештење о куцању, процена присуства корисника на мрежи, потврда читања, пусх обавештења, претрага на страни сервера, синхронизација историје и статуса клијента.

Извор: опеннет.ру

Додај коментар