Перейти до вмісту

Аналітика ROI та врятований капітал

MirApi Gateway надає детальну аналітику, що відображає реальну цінність та повернення інвестицій (ROI), які він приносить вашому бізнесу. Замість показу абстрактних відсотків доступності (uptime), шлюз відстежує конкретні показники ефективності: Врятовані запити (Rescued Requests) та Врятований капітал (Rescued Capital).


Що таке “Врятований запит”?

Section titled “Що таке “Врятований запит”?”

Запит класифікується як врятований, якщо при першій спробі виникла помилка (через збій upstream-сервісу, тайм-аут з’єднання або перевищення лімітів швидкості), але завдяки втручанню одного з модулів стійкості шлюзу запит врешті-решт завершився успішно.

Шлюз збільшує лічильник врятованих запитів, коли:

  1. Повтори завершилися успіхом (Retries): перший виклик провалився, але повторна спроба (X-Retry-Count) виявилася успішною.
  2. Спрацював резервний URL (Failover): основна ціль була недоступна, але запит виконався успішно через X-Failover-URL.
  3. Повернуто відповідь із кешу (Smart Cache): upstream повернув помилку, і шлюз надав актуальну збережену копію відповіді (X-Smart-Cache).
  4. Каскад перемкнувся на бекап (Cascade Fallback): первинна ціль у послідовному каскадному маршруті провалилася, але резервний сервіс успішно обробив запит.

Врятовані відповіді містять діагностичний заголовок X-Rescued, який вказує на метод порятунку (cache, failover або cascade_fallback).


Відстеження врятованого капіталу (Rescued Capital)

Section titled “Відстеження врятованого капіталу (Rescued Capital)”

Для e-commerce, банкінгу та платіжних систем кожен збій API-запиту означає пряму втрату доходу. Шлюз автоматично обчислює фінансовий обсяг транзакцій, які він вберіг від зриву.

  1. Аналіз тіла запиту та правила вилучення:
    • Рекурсивний обхід: Шлюз рекурсивно обходить JSON-структуру запиту.
    • Пошук полів: Пошук полів amount, sum та total (регістронезалежно).
    • Пріоритет перевірки: Якщо на одному рівні є декілька полів (наприклад, і total, і amount), спочатку шукається amount, потім sum, і вже в останню чергу total.
    • Підтримувані формати: Пошук підтримує формати float64, string, int та int64.
  2. Спрацювання (Trigger): Сума зараховується до врятованого капіталу (Rescued Capital) лише у випадку, якщо прапорець rescued набуває значення true. Це відбувається, коли первинний запит мав би впасти, але успішно спрацював завдяки одному з механізмів надійності проксі:
    • Smart Cache (відповідь успішно віддано з кешу, коли upstream повернув помилку 5xx або був недоступний).
    • Retry logic (запит успішно виконано після однієї чи кількох автоматичних повторних спроб, додається діагностичний заголовок X-Rescued: retry).
    • Failover Route (запит врятовано завдяки перенаправленню на резервний X-Failover-URL).
    • Cascade Route (успіх досягнуто на одному з пріоритетних або паралельних резервних хостів зі списку каскаду).
  3. Агрегація: Сума врятованого капіталу накопичується протягом розрахункового місяця.

Приклад сценарію:

  1. Ваш додаток надсилає запит на оплату: POST /v1/charges з тілом {"amount": 150.00, "currency": "usd"}.
  2. Первинний Stripe API повертає 502 Bad Gateway.
  3. MirApi Gateway перехоплює помилку, робить автоматичний повторний запит через короткий проміжок часу, і друга спроба проходить успішно.
  4. Клієнт отримує успішну відповідь. Шлюз фіксує:
    • Врятований запит: +1
    • Врятований капітал: +$150.00

Архітектура буферизації та синхронізації

Section titled “Архітектура буферизації та синхронізації”

Для забезпечення високої пропускної здатності та запобігання блокуванню бази даних під навантаженням, шлюз використовує буферизовану модель запису:

  • Метрики спочатку оновлюються в Redis за допомогою атомарних операцій:
    • user:metrics:<id>:total_requests
    • user:metrics:<id>:rescued_requests
    • user:metrics:<id>:rescued_capital
  • Користувач позначається як “брудний” у Redis-set users_metrics_to_sync.
  • Фоновий flusher-воркер (StartMetricsFlusher) періодично (кожні 10–30 секунд) зчитує змінені дані з Redis та оновлює таблицю user_metrics у PostgreSQL пакетами.

Ці метрики виводяться в реальному часі на дашборді користувача:

  • Rescued Requests: загальна кількість успішно завершених транзакцій, які інакше завершилися б помилкою.
  • Rescued Capital: загальна сума капіталу в транзакціях, які були врятовані завдяки шлюзу.
  • ROI захисту: наочне порівняння врятованих коштів із вартістю підписки на проксі.

Скріншот аналітики дашборду ROI