Dendrite 0.1.0 шығарылымы, Matrix протоколын іске асырумен байланыс сервері

жарияланды Матрицалық сервердің шығарылымы Дендрит 0.1.0, бұл дамудың бета тестілеу кезеңіне өтуін белгіледі. Dendrite Matrix орталықтандырылмаған коммуникациялық платформасының негізгі әзірлеушілер тобымен әзірленуде және Matrix сервер компоненттерінің екінші буынын іске асыру ретінде орналастырылған. Анықтамалық серверден айырмашылығы Synapse, Python тілінде жазылған, Dendrite коды дамиды Go тілінде. Екі ресми іске асыру да Apache 2.0 лицензиясы бойынша лицензияланған. Жобаның шекарасында Рума Matrix серверінің Rust тіліндегі нұсқасы бөлек әзірленуде, ол таралады MIT лицензиясы бойынша.

Жаңа сервер жоғары тиімділікке, сенімділікке және ауқымдылыққа қол жеткізуге бағытталған. Дендрит Synapse-тен асып түседі, жұмыс істеу үшін айтарлықтай аз жадты қажет етеді және бірнеше түйіндерде жүктемені теңестіру арқылы масштабтауға болады. Dendrite архитектурасы көлденең масштабтауды қолдайды және микросервис түрінде өңдеушілерді бөлуге негізделген, мұнда әрбір микросервис данасы дерекқорда өз кестелері болады. Жүктеме теңестіруші микросервистерге қоңырауларды жібереді. Кодтағы операцияларды параллельдеу үшін процессордың барлық ядроларының ресурстарын бөлек процестерге бөлмей пайдалануға мүмкіндік беретін ағындар (өту тәртібі) пайдаланылады.

Dendrite 0.1.0 шығарылымы, Matrix протоколын іске асырумен байланыс сервері

Дендрит екі режимді қолдайды: монолитті және полилит. Монолитті режимде барлық микросервистер бір орындалатын файлға жинақталады, бір процессте орындалады және бір-бірімен тікелей әрекеттеседі. Көп құрамды (кластер) режимінде микросервистерді бөлек іске қосуға болады, соның ішінде әртүрлі түйіндер бойынша таратылады. Құрамдас бөліктердің өзара әрекеттесуі
көп компонентті режим ішкі HTTP API және платформаны пайдалану арқылы жүзеге асырылады Apache Kafka.

Әзірлеу Matrix протоколының спецификациялары негізінде және Synapse үшін ортақ екі сынақ жиынтығын пайдалану арқылы жүзеге асырылады. жүйе тесті және жаңа жиынтық Толықтыру. Әзірлеудің қазіргі кезеңінде Dendrite Client-Server API сынақтарының 56% және Federation API сынақтарының 77% өтеді, нақты функционалдық қамту Client-Server API үшін 70% және Federation API үшін 95% бағаланады.

Бета тестілеу кезеңі Dendrite бастапқы енгізуге және мерзімді түрде қалыптасатын жаңа шығарылымдармен әзірлеуге көшуге дайын екенін көрсетеді. Шығарылымдар арасында дерекқордағы деректерді сақтау схемасы енді жаңартылады (репозиторийден бөліктерді орнатудан айырмашылығы, дерекқордың мазмұны жаңартудан кейін жоғалмайды). Кері үйлесімділікті бұзатын, дерекқор құрылымын өзгертетін немесе конфигурация өзгерістерін талап ететін өзгерістер тек негізгі шығарылымдарда ұсынылады. Қазіргі уақытта дендритті шағын үй серверлері мен P2P түйіндерін жасау үшін PostgreSQL ДҚБЖ-мен бірге монолитті режимде пайдалану ұсынылады. Бір уақыттағы операцияларды өңдеуде шешілмеген мәселелерге байланысты SQLite пайдалану әлі ұсынылмайды.

Dendrite қолданбасында әлі іске қосылмаған мүмкіндіктерге хабарламаларды қабылдауды растау, оқу белгілері, push хабарландырулары, OpenID, электрондық поштаны байланыстыру, серверде іздеу, пайдаланушы каталогы, пайдаланушыны елемеу тізімдері, топтар мен қауымдастықтарды құру, пайдаланушының желіде болуын бағалау, қонақтардың кірістері, үшінші тарап желілерімен өзара әрекеттесу.

Қолдану үшін қолжетімді: сөйлесу бөлмелері үшін негізгі функциялар (жасау, шақырулар, аутентификация ережелері), бөлмелердегі қатысушыларды біріктіру құралдары, офлайннан оралғаннан кейін оқиғаларды синхрондау, тіркелгілер, профильдер, теру көрсеткіші, файлдарды жүктеу және жүктеу (Media API), хабарларды өңдеу, ACL, тегтерді байланыстыру және құрылғылар тізімдерімен және түпкілікті шифрлауға арналған кілттермен жұмыс істеу.

Еске салайық, орталықтандырылмаған коммуникацияларды ұйымдастыру платформасы Matrix HTTPS+JSON протоколын WebSockets пайдалану мүмкіндігі бар көлік ретінде немесе негізделген протоколды пайдаланады. CoAP+шу. Жүйе бір-бірімен өзара әрекеттесе алатын және ортақ орталықтандырылмаған желіге біріктірілген серверлер қауымдастығы ретінде қалыптасады. Хабарламалар хабар алмасу қатысушылары қосылған барлық серверлерде қайталанады. Хабарламалар Git репозиторийлері арасында жіберілетіндей серверлер арқылы таратылады. Уақытша сервер тоқтатылған жағдайда хабарламалар жоғалмайды, бірақ сервер жұмысын қайта бастағаннан кейін пайдаланушыларға жіберіледі. Әр түрлі пайдаланушы идентификаторы опцияларына қолдау көрсетіледі, соның ішінде электрондық пошта, телефон нөмірі, Facebook тіркелгісі және т.б.

Желіде бір сәтсіздік нүктесі немесе хабарламаны басқару жоқ. Талқылауға жататын барлық серверлер бір-біріне тең.
Кез келген пайдаланушы өз серверін іске қосып, оны жалпы желіге қоса алады. құруға болады шлюздер Матрицаның басқа хаттамаларға негізделген жүйелермен өзара әрекеттесуі үшін, мысалы, дайындалды IRC, Facebook, Telegram, Skype, Hangouts, Email, WhatsApp және Slack қызметтеріне екі жақты хабарламалар жіберу қызметтері. Жылдам мәтіндік хабар алмасу мен чаттардан басқа, жүйе файлдарды тасымалдау, хабарландырулар жіберу,
телеконференциялар ұйымдастыру, дауыстық және бейне қоңыраулар жасау. Ол сондай-ақ теру туралы хабарландыру, пайдаланушының желіде болуын бағалау, оқуды растау, push хабарландырулары, серверлік іздеу, тарих пен клиент күйін синхрондау сияқты кеңейтілген мүмкіндіктерді қолдайды.

Ақпарат көзі: opennet.ru

пікір қалдыру