...
| Рівень | Компоненти | Опис |
|---|---|---|
| Користувацький рівень | Адмінка, Модуль аукціонів | Інтерфейс для користувачів аукціону (учасники, адміністратори, майданчики) |
| Шлюз API | GraphQL API Gateway | Єдина точка входу для клієнтів та зовнішніх систем |
| Мікросервіси |
| Кожен сервіс відповідає за окремий функціонал |
| База даних | PostgreSQL, Redis (кешування) | Зберігання всіх даних аукціонів, користувачів, ставок |
| Зовнішні інтеграції | Державні реєстри | ЄДРАТО |
...
Система розгорнута у хмарному середовищі та використовує наступні технології:
Контейнери (Docker, Kubernetes) – для розгортання та управління сервісами.
Балансувальник навантаження (NGINX, AWS ALB) – рівномірний розподіл запитів.
Системи логування та моніторингу (Elasticsearch, Kibana, Prometheus, Grafana) – для відстеження роботи системи.
Автоматичне масштабування (Kubernetes HPA) – підвищення продуктивності під час пікових навантажень.
Приклад потоку запиту:
Користувач заходить на сайт prozorro.sale.публікує обʼєкт Procedure
Запит надходить до API Gateway, який перенаправляє його до відповідного сервісу.Якщо це запит на перегляд аукціонів, викликається аналітичний модуль.
Якщо це участь в аукціоні, запит проходить через сервіс обробки ставок.
Дані кешуються у Redis для швидкого доступу.
...
Всі сервіси обмінюються даними через захищений API (REST, GraphQL).
Використовується шифрування трафіку через TLS 1.3.Для взаємодії з банками та держреєстрами використовується ESB-шина (Apache Kafka, RabbitMQ).
Приклад взаємодії:
Користувач подає заявку на участь в аукціоні.
Дані перевіряються через інтеграцію з держреєстрами.
Якщо все гаразд – користувач отримує доступ до аукціону.
Всі події логуються в централізовану систему моніторингу.
Карта сервісів та взаємодія
...
5. Вимоги до продуктивності та масштабованості
...