Остання редакція: 21-04-2025
Тези доповіді
Актуальність. Монолітні веб‑додатки обмежують масштабованість і уповільнюють випуск оновлень. Мікросервісний підхід на базі Node.js дає змогу розділити бізнес‑функції на незалежні сервіси, а React‑клієнт забезпечує реактивний інтерфейс користувача.
Мета роботи — запропонувати та експериментально оцінити типову архітектуру мікросервісної SaaS‑системи для середньонавантажених проєктів.
Методи. Запропонована схема містить API‑Gateway, доменні сервіси (Auth, User), брокер повідомлень RabbitMQ та СУБД PostgreSQL; оркестрація контейнерів — Docker Compose у розробці та Kubernetes у продакшні. На фронтенді використано React + RTK Query і WebSocket‑канал для push‑подій.
Експеримент. Проведено навантажувальне тестування k6 (1000 RPS × 5 хв) на VPS CX31 (2 vCPU, 8 ГБ RAM). Порівняно з монолітною реалізацією Express.js:
P95 latency знизилась з 310 мс до 210 мс (‑32 %), максимальне CPU‑навантаження — з 78 % до 62 %, а частка помилок — з 1,8 % до 0,9 %.
Висновки. (1) Декомпозиція на мікросервіси покращує затримку та стійкість до пікових навантажень; (2) RTK Query мінімізує надмірні запити й спрощує real‑time інтеграцію; (3) Подальші дослідження плануються щодо динамічного autoscaling pod‑ів і впливу gRPC‑стримів на throughput Gateway.
Ключові слова: мікросервіси, Node.js, React, API‑Gateway, продуктивність.