Liberasyon Dendrite 0.1.0, yon sèvè kominikasyon ak yon aplikasyon pwotokòl Matrix la

pibliye выпуск Matrix-сСрвСра Dendrite 0.1.0, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ·Π½Π°ΠΌΠ΅Π½ΠΎΠ²Π°Π» ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ Π±Π΅Ρ‚Π°-тСстирования. Dendrite развиваСтся основной ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Matrix ΠΈ позиционируСтся ΠΊΠ°ΠΊ рСализация Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ поколСния сСрвСрных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Matrix. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ эталонного сСрвСра Sinaps, написанного Π½Π° языкС Python, ΠΊΠΎΠ΄ Dendrite ap devlope Π½Π° языкС Go. ОбС ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ruma ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ развиваСтся Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ сСрвСра Matrix Π½Π° языкС Rust, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ distribiye pa anba lisans MIT.

Новый сСрвСр Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° достиТСниС высокой эффСктивности, надёТности ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ. Dendrite ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ Synapse ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ для своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ сущСствСнно мСньшС памяти ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· балансировку Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° нСсколько ΡƒΠ·Π»ΠΎΠ². АрхитСктура Dendrite ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ основываСтся Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ΅ микросСрвисов, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр микросСрвиса ΠΈΠΌΠ΅Π΅Ρ‚ свои Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π‘Π”. ДиспСтчСризациСй обращСния ΠΊ микросСрвисам занимаСтся балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Для распаралСлливания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΊΠΈ (go routines), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы всСх ядСр CPU Π±Π΅Π· раздСлСния Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ процСссы.

Liberasyon Dendrite 0.1.0, yon sèvè kominikasyon ak yon aplikasyon pwotokòl Matrix la

Dendrite ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… β€” ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΌ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠΌ (polylith). Π’ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ всС микросСрвисы скомпонованы Π² ΠΎΠ΄Π½ΠΎΠΌ исполняСмом Ρ„Π°ΠΉΠ»Π΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ процСссС ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π’ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠΌ (кластСрном) Ρ€Π΅ΠΆΠΈΠΌΠ΅ микросСрвисы ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ-ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π² Ρ‚ΠΎΠΌ числС с разнСсСниСм ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΡƒΠ·Π»Π°ΠΌ. ВзаимодСйствиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π²
ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ осущСствляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ HTTP API ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apache Kafka.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСдётся Π½Π° основС спСцификаций ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Matrix ΠΈ с использованиСм Π΄Π²ΡƒΡ… тСстовых Π½Π°Π±ΠΎΡ€ΠΎΠ² β€” ΠΎΠ±Ρ‰ΠΈΡ… с Synapse тСстов sytest ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Konpleman. На Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ этапС развития Dendrite ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ 56% тСстов Client-Server API ΠΈ 77% тСстов Federation API, ΠΏΡ€ΠΈ этом фактичСский ΠΎΡ…Π²Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ оцСниваСтся Π² 70% для Client-Server API ΠΈ 95% для Federation API.

Бтадия Π±Π΅Ρ‚Π°-тСстирования ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ готовности Dendrite для Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ внСдрСния ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ с пСриодичСским Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²Ρ‹Ρ… выпусков. ΠœΠ΅ΠΆΠ΄Ρƒ выпусками Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ схСмы хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π” (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ установки срСзов ΠΈΠ· рСпозитория, послС обновлСния содСрТимоС Π±Π°Π·Ρ‹ Ρ‚Π΅Ρ€ΡΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚). ИзмСнСния, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ структуру Π‘Π” ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… выпусках. Dendrite ΠΏΠΎΠΊΠ° рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ совмСстно с Π‘Π£Π‘Π” PostgreSQL для создания Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… исходных сСрвСров (homeserver) ΠΈ P2P-ΡƒΠ·Π»ΠΎΠ². ИспользованиС SQLite ΠΏΠΎΠΊΠ° Π½Π΅ рСкомСндуСтся ΠΈΠ·-Π·Π° Π½Π΅Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Из ΠΏΠΎΠΊΠ° Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² Dendrite возмоТностСй ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ подтвСрТдСния получСния сообщСний, ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΈ, push-увСдомлСния, OpenID, привязка ΠΊ email, поиск Π½Π° сторонС сСрвСра, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, списки игнорирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, созданиС Π³Ρ€ΡƒΠΏΠΏ ΠΈ сообщСств, ΠΎΡ†Π΅Π½ΠΊΠ° присутствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² online, гостСвыС Π²Ρ…ΠΎΠ΄Ρ‹, взаимодСйствиС со сторонними сСтями.

Доступны для использования базовая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π°Ρ‚-ΠΊΠΎΠΌΠ½Π°Ρ‚ (созданиС, ΠΈΠ½Π²Π°ΠΉΡ‚Ρ‹, ΠΏΡ€Π°Π²ΠΈΠ»Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ), срСдства Ρ„Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ участников Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Π°Ρ…, синхронизация событий послС возвращСния ΠΈΠ· offline, ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ записи, ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ, индикация Π½Π°Π±ΠΎΡ€Π°, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ ΠΎΡ‚Π΄Π°Ρ‡Π° Ρ„Π°ΠΉΠ»ΠΎΠ² (Media API), Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сообщСний, ACL, привязка Ρ‚Π΅Π³ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со списками устройств ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для сквозного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

Напомним, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ Matrix примСняСт Π² качСствС транспорта HTTPS+JSON с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ использования WebSockets ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Π½Π° Π±Π°Π·Π΅ CoAP+Bri. SistΓ¨m nan fΓ²me kΓ²m yon kominote nan serveurs ki ka kominike youn ak lΓ²t epi yo ini nan yon rezo komen desantralize. Mesaj yo repwodui atravΓ¨ tout sΓ¨vΓ¨ kote patisipan mesaj yo konekte. Mesaj yo pwopaje atravΓ¨ sΓ¨vΓ¨ yo menm jan ak komΓ¨t yo pwopaje ant depo Git yo. Nan ka yon pann sΓ¨vΓ¨ tanporΓ¨, mesaj yo pa pΓ¨di, men yo transmΓ¨t bay itilizatΓ¨ yo apre sΓ¨vΓ¨ a rekΓ²manse operasyon. Gen plizyΓ¨ opsyon ID itilizatΓ¨ yo sipΓ²te, tankou imel, nimewo telefΓ²n, kont Facebook, elatriye.

Pa gen okenn pwen sèl nan echèk oswa kontwòl mesaj atravè rezo a. Tout sèvè ki kouvri pa diskisyon an egal youn ak lòt.
Nenpòt itilizatè ka kouri pwòp sèvè yo epi konekte li nan yon rezo komen. Li posib pou kreye pòtay yo pou entèraksyon Matrix ak sistèm ki baze sou lòt pwotokòl, pou egzanp, prepare sèvis pou voye mesaj de-fason pou IRC, Facebook, Telegram, Skype, Hangouts, Imèl, WhatsApp ak Slack. Anplis de mesaj tèks enstantane ak chat, sistèm nan ka itilize pou transfere dosye, voye notifikasyon,
òganize telekonferans, fè apèl vwa ak videyo. Li sipòte tou karakteristik avanse tankou notifikasyon sezisman, evalyasyon prezans itilizatè sou entènèt, konfimasyon lekti, notifikasyon pouse, rechèch bò sèvè, senkronizasyon istwa ak sitiyasyon kliyan an.

Sous: opennet.ru

Add nouvo kòmantè