1. Загальний опис архітектури
Система АТ "Прозорро.Продажі" є розподіленою інформаційною системою, яка забезпечує проведення електронних аукціонів у форматі відкритих торгів.
Архітектура побудована за принципом мікросервісного підходу, що дозволяє забезпечити гнучкість, масштабованість і високу доступність.
Всі компоненти розгорнуті в хмарному середовищі (AWS)
Взаємодія між компонентами здійснюється через REST API
Забезпечується авторизація та аутентифікація через OAuth 2.0
Всі аукціонні процеси логуються для контролю прозорості та аналітики
1.1. Карта сервісів
2. Логічна архітектура
Система складається з декількох рівнів:
Користувацький рівень | Адмінка, Модуль аукціонів | Інтерфейс для користувачів аукціону (учасники, адміністратори, майданчики) |
Шлюз API | API Gateway | Єдина точка входу для клієнтів та зовнішніх систем |
Мікросервіси |
| Кожен сервіс відповідає за окремий функціонал |
База даних | MongoDB, Redis (кешування) | Зберігання всіх даних аукціонів, користувачів, ставок |
3. Фізична архітектура
Система розгорнута у хмарному середовищі та використовує наступні технології:
Контейнери (Docker, Kubernetes) – для розгортання та управління сервісами.
Балансувальник навантаження (NGINX, AWS ALB) – рівномірний розподіл запитів.
Системи логування та моніторингу (Elasticsearch, Kibana, Prometheus, Grafana) – для відстеження роботи системи.
Автоматичне масштабування (Kubernetes HPA) – підвищення продуктивності під час пікових навантажень.
Приклад потоку запиту:
Користувач публікує обʼєкт Procedure
Запит надходить до API Gateway, який перенаправляє його до відповідного сервісу.
Якщо це участь в аукціоні, запит проходить через сервіс обробки ставок.
Дані кешуються у Redis для швидкого доступу.
4. Взаємодія компонентів
Всі сервіси обмінюються даними через захищений API (REST).
Використовується шифрування трафіку через TLS 1.3.
Приклад взаємодії:
Користувач подає заявку на участь в аукціоні.
Дані перевіряються
Якщо все гаразд – користувач отримує доступ до аукціону.
Всі події логуються в централізовану систему моніторингу.
5. Вимоги до продуктивності та масштабованості
Час обробки запиту – не більше 500 мс.
Кількість одночасних користувачів – до 100 000.
Горизонтальне масштабування дозволяє автоматично додавати нові сервери.