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

Compare with Current View Page History

« Previous Version 9 Next »

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

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

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

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

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

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


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

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

РівеньКомпонентиОпис
Користувацький рівеньАдмінка, Модуль аукціонівІнтерфейс для користувачів аукціону (учасники, адміністратори, майданчики)
Шлюз APIAPI GatewayЄдина точка входу для клієнтів та зовнішніх систем
Мікросервіси
  • Procedure
  • Jobber
  • Registry
  • Mirror
  • Search
  • Auction
  • Document Service
  • Auth
  • Dictionaries
  • Billing
  • Protocol
  • Databridge
  • Thumbnails
  • Relocation
Кожен сервіс відповідає за окремий функціонал
База данихPostgreSQL, Redis (кешування)Зберігання всіх даних аукціонів, користувачів, ставок
Зовнішні інтеграціїДержавні реєстриЄДРАТО (question) 

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

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

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

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

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

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

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

  1. Користувач публікує обʼєкт Procedure

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

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

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


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

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

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

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

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

  2. Дані перевіряються

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

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

Карта сервісів та взаємодія



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

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

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

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

  • No labels