База даних публічних реактивних функціональних сигналів

Об’єктом дослідження є процеси комунікації між функціональними компонентами програмного забезпечення інформаційних систем. Мета полягає у підвищенні ефективності комунікації між компонентами таких систем та коректної синхронізації їх станів. Сформульована проблема підвищення ефективності комунікаці...

Full description

Saved in:
Bibliographic Details
Main Authors: Д. Вітковський, С. Теленик
Format: Article
Language:English
Published: Igor Sikorsky Kyiv Polytechnic Institute 2024-10-01
Series:Adaptivni Sistemi Avtomatičnogo Upravlinnâ
Subjects:
Online Access:https://asac.kpi.ua/article/view/313200
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1839637805318275072
author Д. Вітковський
С. Теленик
author_facet Д. Вітковський
С. Теленик
author_sort Д. Вітковський
collection DOAJ
description Об’єктом дослідження є процеси комунікації між функціональними компонентами програмного забезпечення інформаційних систем. Мета полягає у підвищенні ефективності комунікації між компонентами таких систем та коректної синхронізації їх станів. Сформульована проблема підвищення ефективності комунікації між функціональними компонентами складних систем з мікросервісною архітектурою, та коректної синхронізації їх станів. У процесі аналізу існуючих підходів до вирішення сформульованої вище проблеми встановлено, що найпростішим способом комунікації між сервісами є REST API, але він не дозволяє зробити мікросервіси достатньо ізольованими, не гарантує доставку, отримання й зберігання повідомлень про транзакцію/зміну стану. Частину цих вимог задовольняють система повідомлень, такі як StormMQ, RabbitMQ, Apache Kafka та інші. Але вони не забезпечують зберігання даних, що не є повідомленнями. СКБД, наприклад MongoDB, надають певну гарантію доставки за рахунок «потоків змін» та журналу операцій, але вони дуже чутливі до налаштувань журналу. Обґрунтовано доцільність вирішення проблеми шляхом розповсюдження оновлень за допомогою стійких реактивних значень (сигналів). Запропонований підхід до вирішення проблеми на основі бази даних спеціальної структури та клієнтської бібліотеки-компаньйона, що поєднують у собі підхід до архітектури, керованої подіями, та функціональні реактивні сигнали. База даних публічних сигналів автоматично сповіщає підписників про зміни у значеннях та їх дочірніх вузлах. Запропоновано архітектуру рішення і концепцію його реалізації, варіант двійкового представлення шляху до вузлів у базі даних, описано алгоритми поведінки системи керування базами даних та клієнтських бібліотек стосовно публікації та оновлення даних у базі даних. Розроблено частковий прототип системи керування базами даних та бібліотеки для фреймворку SolidJS. Щоб розширити сценарії використання та варіанти міжсервісної комунікації, урізноманітнити поведінку застосунків-клієнтів, планується: розробити спеціальний двосторонній протокол зв’язку, до динамічної типізації даних додати статичну, розширити вибір примітивних типів і уможливити зберігання похідних сигналів та сигналів-тригерів, розробити інтерпретовану мову програмування, яка б дозволила виконувати комбінування сигналів у похідні. Для розподілених систем необхідно також реалізувати стійкі черги повідомлень для підписників, аби вони не втрачали послідовність змін у разі відмови клієнта або системи керування базами даних. Бібл. 15, іл. 9.
format Article
id doaj-art-5ec18df0a0604f76a9e77ce2a024ece6
institution Matheson Library
issn 1560-8956
2522-9575
language English
publishDate 2024-10-01
publisher Igor Sikorsky Kyiv Polytechnic Institute
record_format Article
series Adaptivni Sistemi Avtomatičnogo Upravlinnâ
spelling doaj-art-5ec18df0a0604f76a9e77ce2a024ece62025-07-06T10:48:13ZengIgor Sikorsky Kyiv Polytechnic InstituteAdaptivni Sistemi Avtomatičnogo Upravlinnâ1560-89562522-95752024-10-0124510.20535/1560-8956.45.2024.313200352654База даних публічних реактивних функціональних сигналівД. Вітковський0С. Теленик1КПІ ім. Ігоря СікорськогоКПІ ім. Ігоря Сікорського Об’єктом дослідження є процеси комунікації між функціональними компонентами програмного забезпечення інформаційних систем. Мета полягає у підвищенні ефективності комунікації між компонентами таких систем та коректної синхронізації їх станів. Сформульована проблема підвищення ефективності комунікації між функціональними компонентами складних систем з мікросервісною архітектурою, та коректної синхронізації їх станів. У процесі аналізу існуючих підходів до вирішення сформульованої вище проблеми встановлено, що найпростішим способом комунікації між сервісами є REST API, але він не дозволяє зробити мікросервіси достатньо ізольованими, не гарантує доставку, отримання й зберігання повідомлень про транзакцію/зміну стану. Частину цих вимог задовольняють система повідомлень, такі як StormMQ, RabbitMQ, Apache Kafka та інші. Але вони не забезпечують зберігання даних, що не є повідомленнями. СКБД, наприклад MongoDB, надають певну гарантію доставки за рахунок «потоків змін» та журналу операцій, але вони дуже чутливі до налаштувань журналу. Обґрунтовано доцільність вирішення проблеми шляхом розповсюдження оновлень за допомогою стійких реактивних значень (сигналів). Запропонований підхід до вирішення проблеми на основі бази даних спеціальної структури та клієнтської бібліотеки-компаньйона, що поєднують у собі підхід до архітектури, керованої подіями, та функціональні реактивні сигнали. База даних публічних сигналів автоматично сповіщає підписників про зміни у значеннях та їх дочірніх вузлах. Запропоновано архітектуру рішення і концепцію його реалізації, варіант двійкового представлення шляху до вузлів у базі даних, описано алгоритми поведінки системи керування базами даних та клієнтських бібліотек стосовно публікації та оновлення даних у базі даних. Розроблено частковий прототип системи керування базами даних та бібліотеки для фреймворку SolidJS. Щоб розширити сценарії використання та варіанти міжсервісної комунікації, урізноманітнити поведінку застосунків-клієнтів, планується: розробити спеціальний двосторонній протокол зв’язку, до динамічної типізації даних додати статичну, розширити вибір примітивних типів і уможливити зберігання похідних сигналів та сигналів-тригерів, розробити інтерпретовану мову програмування, яка б дозволила виконувати комбінування сигналів у похідні. Для розподілених систем необхідно також реалізувати стійкі черги повідомлень для підписників, аби вони не втрачали послідовність змін у разі відмови клієнта або системи керування базами даних. Бібл. 15, іл. 9. https://asac.kpi.ua/article/view/313200база данихреактивне програмуваннясигналифункціональне програмуванняефектиподії
spellingShingle Д. Вітковський
С. Теленик
База даних публічних реактивних функціональних сигналів
Adaptivni Sistemi Avtomatičnogo Upravlinnâ
база даних
реактивне програмування
сигнали
функціональне програмування
ефекти
події
title База даних публічних реактивних функціональних сигналів
title_full База даних публічних реактивних функціональних сигналів
title_fullStr База даних публічних реактивних функціональних сигналів
title_full_unstemmed База даних публічних реактивних функціональних сигналів
title_short База даних публічних реактивних функціональних сигналів
title_sort база даних публічних реактивних функціональних сигналів
topic база даних
реактивне програмування
сигнали
функціональне програмування
ефекти
події
url https://asac.kpi.ua/article/view/313200
work_keys_str_mv AT dvítkovsʹkij bazadanihpublíčnihreaktivnihfunkcíonalʹnihsignalív
AT stelenik bazadanihpublíčnihreaktivnihfunkcíonalʹnihsignalív