You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Загальна схема архітектури засобу інформатизації для системи АТ "Прозорро.Продажі"

1. Загальний опис архітектури

Система АТ "Прозорро.Продажі" є розподіленою інформаційною системою, яка забезпечує проведення електронних аукціонів у форматі відкритих торгів. Архітектура побудована за принципом мікросервісного підходу, що дозволяє забезпечити гнучкість, масштабованість і високу доступність.

  • Всі компоненти розгорнуті в хмарному середовищі (AWS, GCP або Azure).

  • Взаємодія між компонентами здійснюється через REST API та GraphQL.

  • Забезпечується авторизація та аутентифікація через OAuth 2.0.

  • Всі аукціонні процеси логуються для контролю прозорості та аналітики.


2. Логічна архітектура

Система складається з декількох рівнів:

РівеньКомпонентиОпис
Користувацький рівеньВеб-платформа (React.js), мобільний застосунок (Flutter)Інтерфейс для користувачів аукціону (учасники, адміністратори, майданчики)
Шлюз APIGraphQL API GatewayЄдина точка входу для клієнтів та зовнішніх систем
Мікросервіси- Сервіс управління аукціонами
- Сервіс обробки ставок
- Аналітичний модуль
- Модуль сповіщень
Кожен сервіс відповідає за окремий функціонал
База данихPostgreSQL, Redis (кешування)Зберігання всіх даних аукціонів, користувачів, ставок
Зовнішні інтеграціїДержавні реєстри, банківські системи, платіжні шлюзиІнтеграція для перевірки учасників, платежів, майнових даних

3. Фізична архітектура

Система розгорнута у хмарному середовищі та використовує наступні технології:

  • Контейнери (Docker, Kubernetes) – для розгортання та управління сервісами.

  • Балансувальник навантаження (NGINX, AWS ALB) – рівномірний розподіл запитів.

  • Системи логування та моніторингу (Elasticsearch, Kibana, Prometheus, Grafana) – для відстеження роботи системи.

  • Автоматичне масштабування (Kubernetes HPA) – підвищення продуктивності під час пікових навантажень.

📌 Приклад потоку запиту:

  1. Користувач заходить на сайт prozorro.sale.

  2. Запит надходить до API Gateway, який перенаправляє його до відповідного сервісу.

  3. Якщо це запит на перегляд аукціонів, викликається аналітичний модуль.

  4. Якщо це участь в аукціоні, запит проходить через сервіс обробки ставок.

  5. Дані кешуються у Redis для швидкого доступу.


4. Взаємодія компонентів

  • Всі сервіси обмінюються даними через захищений API (REST, GraphQL).

  • Використовується шифрування трафіку через TLS 1.3.

  • Для взаємодії з банками та держреєстрами використовується ESB-шина (Apache Kafka, RabbitMQ).

📌 Приклад взаємодії:

  1. Користувач подає заявку на участь в аукціоні.

  2. Дані перевіряються через інтеграцію з держреєстрами.

  3. Якщо все гаразд – користувач отримує доступ до аукціону.

  4. Всі події логуються в централізовану систему моніторингу.


5. Вимоги до продуктивності та масштабованості

  • Час обробки запиту – не більше 500 мс.

  • Кількість одночасних користувачів – до 100 000.

  • Горизонтальне масштабування дозволяє автоматично додавати нові сервери.


Приклад

Архітектура мікросервісна, гнучка та масштабована.
Всі сервіси працюють у хмарному середовищі з балансуванням навантаження.
Інтеграція з держреєстрами та платіжними системами через API.
Прозорість забезпечується логуванням та моніторингом всіх дій у системі.

  • No labels