Нашри Dendrite 0.1.0, сервери иртиботӣ бо татбиқи протоколи Matrix

нашр шудааст Нашри сервери Matrix Дендрит 0.1.0, ки гузариши рушдро ба марҳилаи санҷиши бета нишон дод. Dendrite аз ҷониби гурӯҳи асосии таҳиягарони платформаи ғайримарказонидашудаи коммуникатсионӣ Matrix таҳия карда мешавад ва ҳамчун татбиқи насли дуюми ҷузъҳои сервери Matrix ҷойгир шудааст. Баръакси сервери истинод Synapse, дар Python навишта шудааст, рамзи Dendrite рушд карда истодааст бо забони Go. Ҳарду татбиқи расмӣ тибқи иҷозатномаи Apache 2.0 иҷозатнома доранд. Дар ҳудуди лоиҳа Рума Версияи сервери Matrix бо забони Rust алоҳида таҳия карда мешавад, ки паҳн мекунад таҳти иҷозатномаи MIT.

Сервери нав ба ноил шудан ба самаранокии баланд, эътимоднокӣ ва миқёспазирӣ нигаронида шудааст. Dendrite аз Synapse бартарӣ дорад, барои кор хотираи камро талаб мекунад ва метавонад тавассути мувозинати сарборӣ дар саросари гиреҳҳои сершумор миқёс кунад. Меъмории Dendrite миқёси уфуқиро дастгирӣ мекунад ва ба ҷудо кардани коркардкунандагон дар шакли микросервисҳо асос ёфтааст, ки дар он ҳар як мисоли микросервис ҷадвалҳои худро дар пойгоҳи додаҳо дорад. Тавозуни сарборӣ зангҳоро ба микросервисҳо мефиристад. Барои параллелизатсия кардани амалиёт дар код, риштаҳо (реҷаҳои гузариш) истифода мешаванд, ки ба шумо имкон медиҳанд, ки захираҳои ҳамаи ядроҳои CPU бидуни тақсим кардани онҳо ба равандҳои алоҳида истифода шаванд.

Нашри Dendrite 0.1.0, сервери иртиботӣ бо татбиқи протоколи Matrix

Dendrite ду режимро дастгирӣ мекунад: монолитӣ ва полилитӣ. Дар реҷаи монолитӣ, ҳама хидматҳои хурд дар як файли иҷрошаванда бастабандӣ карда мешаванд, дар як раванди ягона иҷро мешаванд ва мустақиман бо ҳамдигар ҳамкорӣ мекунанд. Дар реҷаи бисёркомпонентӣ (кластер), хидматрасониҳои микросервисҳоро алоҳида оғоз кардан мумкин аст, аз ҷумла дар гиреҳҳои гуногун тақсим карда мешавад. Таъсири мутақобилаи ҷузъҳо дар
режими бисёрҷониба бо истифода аз HTTP API ва платформаи дохилӣ амалӣ карда мешавад Апач Кафка.

Таҳия дар асоси мушаххасоти протоколи Matrix ва бо истифода аз ду пакети санҷишӣ - санҷишҳое, ки барои Synapse маъмуланд, амалӣ карда мешавад. системаест ва маҷмӯи нав Комилан. Дар марҳилаи кунунии рушд, Dendrite 56% санҷишҳои API Client-Server ва 77% Federation API-ро мегузарад, дар ҳоле ки фарогирии воқеии функсионалии API барои API Client-Server 70% ва Federation API 95% ҳисоб карда мешавад.

Марҳилаи санҷиши бета нишон медиҳад, ки Dendrite барои татбиқи аввалия ва гузариш ба рушд бо релизҳои нав мунтазам ташаккул меёбад, омода аст. Дар байни нашрҳо, нақшаи нигоҳдории маълумот дар пойгоҳи додаҳо ҳоло нав карда мешавад (баръакси насб кардани буридаҳо аз анбор, мундариҷаи пойгоҳи додаҳо пас аз навсозӣ гум нахоҳад шуд). Тағйироте, ки мутобиқати ақибро вайрон мекунанд, сохтори пойгоҳи додаҳоро тағир медиҳанд ё тағироти конфигуратсияро талаб мекунанд, танҳо дар нашрияҳои асосӣ пешниҳод карда мешаванд. Дар айни замон Дендрит тавсия дода мешавад, ки дар реҷаи монолитӣ дар якҷоягӣ бо DBMS PostgreSQL барои сохтани серверҳои хурд ва гиреҳҳои P2P истифода шавад. Истифодаи SQLite аз сабаби мушкилоти ҳалнашуда бо коркарди амалиёти ҳамзамон тавсия дода намешавад.

Хусусиятҳое, ки дар Dendrite то ҳол татбиқ нашудаанд, тасдиқи қабули паёмҳо, аломатҳои хондан, огоҳиҳои push, OpenID, ҳатмии почтаи электронӣ, ҷустуҷӯ аз ҷониби сервер, феҳристи корбар, рӯйхатҳои нодида гирифтани корбар, эҷоди гурӯҳҳо ва ҷомеаҳо, арзёбии ҳузури корбар дар онлайн, вуруди меҳмонон, ҳамкорӣ бо шабакаҳои сеюм.

Функсияҳои асосӣ барои утоқҳои чат (таъсис, даъватҳо, қоидаҳои аутентификатсия), воситаҳои федератсияи иштирокчиён дар утоқҳо, ҳамоҳангсозии рӯйдодҳо пас аз бозгашт аз офлайн, ҳисобҳо, профилҳо, нишондиҳандаи рақамгузорӣ, зеркашӣ ва боркунии файлҳо (Media API), барои истифода дастрасанд. таҳрир кардани паёмҳо, ACLҳо, ҳатмии барчасп ва кор бо рӯйхати дастгоҳҳо ва калидҳо барои рамзгузории охири ба охир.

Ёдовар мешавем, ки платформаи ташкили коммуникатсияи ғайримарказонидашудаи Matrix HTTPS+JSON-ро ҳамчун нақлиёт бо қобилияти истифодаи WebSockets ё протокол дар асоси истифода мебарад. CoAP+Гардиш. Система ҳамчун ҷомеаи серверҳо ташкил карда шудааст, ки метавонанд бо ҳамдигар ҳамкорӣ кунанд ва дар як шабакаи умумии ғайримарказонидашуда муттаҳид карда шаванд. Паёмҳо дар тамоми серверҳое, ки иштирокчиёни паёмнависӣ ба онҳо пайвастанд, такрор карда мешаванд. Паёмҳо дар серверҳо ҳамон тавре паҳн мешаванд, ки супоришҳо дар байни анбори Git паҳн карда мешаванд. Дар сурати қатъи муваққатии сервер, паёмҳо гум намешаванд, вале пас аз дубора ба кор даровардани сервер ба корбарон интиқол дода мешаванд. Имкониятҳои гуногуни ID-и корбар дастгирӣ мешаванд, аз ҷумла почтаи электронӣ, рақами телефон, ҳисоби Facebook ва ғайра.

Дар тамоми шабака ягон нуқтаи нокомӣ ё назорати паём вуҷуд надорад. Ҳамаи серверҳое, ки дар муҳокима фаро гирифта шудаанд, ба ҳамдигар баробаранд.
Ҳар як корбар метавонад сервери худро идора кунад ва онро ба шабакаи умумӣ пайваст кунад. эҷод кардан мумкин аст дарвозаҳо барои ҳамкории Matrix бо системаҳо дар асоси протоколҳои дигар, масалан, омода кардааст хидматҳо барои фиристодани дуҷонибаи паёмҳо ба IRC, Facebook, Telegram, Skype, Hangouts, Email, WhatsApp ва Slack. Илова ба паёмнависии матнӣ ва чатҳо, система метавонад барои интиқоли файлҳо, ирсоли огоҳиҳо,
ташкили телеконференсияҳо, зангҳои овозӣ ва видеоӣ. Он инчунин чунин хусусиятҳои пешрафтаро, аз қабили огоҳӣ дар бораи чоп, арзёбии ҳузури корбар дар онлайн, тасдиқи хондан, огоҳиҳои push, ҷустуҷӯи сервер, ҳамоҳангсозии таърих ва ҳолати муштариро дастгирӣ мекунад.

Манбаъ: opennet.ru

Илова Эзоҳ