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

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

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

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

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

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

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

1.1. Карта сервісів

Registry
registry-internal-api
registry-api
"deployment"
registry-mirror-api
"statefulset"
Registry-MongoDB
Registry-mirror
Databridge
databridge-api
Auction
"deployment"
auction-frontend
"deployment"
auction-chronograph
"deployment"
auction-api
"deployment"
auction-internal-api
"statefulset"
Auction-MongoDB
Notifications
"deployment"
notifications-api
"deployment"
notifications-internal-api
"statefulset"
Notifications-MongoDB
"deployment"
documents-internal-api
documents-api
swiftStorage
Document Service
billing-api
Billing Service
Procedure
"deployment"
procedure-api
"deployment"
procedure-chronograph
"deployment"
procedure-internal-api
"statefulset"
Procedure-MongoDB
"deployment"
procedure-mirror-api
Procedure-Mirror
"deployment"
protocol-api
Protocol Service
dictionary-api
Dictionary Service
Search
procedure-mirror-client
"deployment"
search-api
"statefulset"
Elasticsearch
Jobber
jobber-internal-api
jobber-api
"deployment"
jobber-mirror-api
"statefulset"
Jobber-MongoDB
Jobber-mirror
Auth
registry-auth-config
procedure-auth-config
auth-api
jobber-auth-config


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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



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

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

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

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

  • No labels