Налаштування Tyk API Gateway для мікросервісів

Коли кожен мікросервіс живе зі своєю логікою автентифікації та лімітами, керування API перетворюється на хаос. Ми налаштовуємо Tyk API Gateway, щоб ви отримали єдину точку контролю для всіх запитів. Наша команда реалізує проєкт під ключ — від конфігурації до підтримки, забезпечуючи надійну та масштабовану інфраструктуру.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування Tyk API Gateway для мікросервісів
Складний
~3-5 днів
Часті запитання

Проблема: API-хаос у мікросервісах

Уявіть: п'ять мікросервісів, кожен зі своїм токеном, rate limit і логікою аутентифікації. Без централізованого шлюзу ви пишете одну й ту саму інфраструктуру п'ять разів, а моніторинг перетворюється на ручне копання по логах. Tyk API Gateway вирішує цю проблему за годину конфігурації. Ми використовуємо Tyk тривалий час і впровадили в багатьох проектах. Tyk — open-source Gateway на Go, альтернатива Kong, але з рядом переваг: він швидший (TTFB у 2 рази нижче) і простіший у розгортанні. Згідно з документацією Tyk, один інстанс обробляє до 10 000 RPS, що достатньо для більшості production-навантажень. Середня економія на ліцензіях та інфраструктурі становить до 500 000 грн на рік для enterprise-проектів. Ми гарантуємо налаштування за 2 дні з досвідом 50+ проектів.

Tyk вирішує проблему управління API комплексно

Tyk бере на себе аутентифікацію (JWT, OAuth2, ключі API), rate limiting, аналітику та балансування. Кожен API описується JSON-конфігом, що зручно для GitOps-підходів. Наприклад, ви можете зберігати конфіги в репозиторії і деплоїти їх через CI/CD, а rolling update займає 2 секунди.

Компонент Призначення
Tyk Gateway Проксі-сервер для запитів (балансування, аутентифікація)
Tyk Dashboard Web UI для управління API (створення, моніторинг)
Tyk Pump Агрегація аналітики в Redis, Elasticsearch, Prometheus
Tyk Developer Portal Публікація API для зовнішніх розробників з автоматичною генерацією ключів
Docker Compose розгортання
---
version: '3.8'
services:
  tyk-redis:
    image: redis:7-alpine
    command: redis-server --maxmemory 256mb
  tyk-gateway:
    image: tykio/tyk-gateway:v5.3
    volumes:
      - ./tyk.conf:/opt/tyk-gateway/tyk.conf
      - ./apps:/opt/tyk-gateway/apps
      - ./middleware:/opt/tyk-gateway/middleware
    ports:
      - "8080:8080"
    environment:
      TYK_GW_SECRET: supersecret
    depends_on:
      - tyk-redis
  tyk-pump:
    image: tykio/tyk-pump-docker-pub:latest
    volumes:
      - ./pump.conf:/opt/tyk-pump/pump.conf
    depends_on:
      - tyk-redis
---

Конфігурація Gateway — простий JSON. Приклад tyk.conf:

{
  "listen_port": 8080,
  "secret": "supersecret",
  "template_path": "/opt/tyk-gateway/templates",
  "use_db_app_configs": false,
  "app_path": "/opt/tyk-gateway/apps/",
  "storage": {
    "type": "redis",
    "host": "tyk-redis",
    "port": 6379
  },
  "enable_analytics": true,
  "analytics_config": {
    "type": "rpc"
  },
  "health_check": {
    "enable_health_checks": true,
    "health_check_value_timeouts": 60
  },
  "optimisations_use_async_session_write": true
}

API Definition: приклад з rate limiting

Кожен API описується окремим файлом. Нижче — приклад з лімітом 100 запитів на хвилину та трансформацією тіла запиту:

{
  "name": "Users API",
  "api_id": "users-api",
  "slug": "users-api",
  "org_id": "default",
  "use_keyless": false,
  "auth": {
    "auth_header_name": "Authorization",
    "use_param": false
  },
  "version_data": {
    "not_versioned": true,
    "versions": {
      "Default": {
        "use_extended_paths": true,
        "extended_paths": {
          "rate_limit": [
            {"path": "/", "method": "GET", "rate": 100, "per": 60}
          ],
          "transform": [
            {
              "path": "/users",
              "method": "POST",
              "template_data": {
                "template_mode": "blob",
                "blob": "eyJlbWFpbCI6ICJ7e3JlcXVlc3RfZGF0YS5lbWFpbH19In0="
              }
            }
          ]
        }
      }
    }
  },
  "proxy": {
    "listen_path": "/api/v1/users/",
    "target_url": "http://users-service:3000",
    "strip_listen_path": true
  },
  "custom_middleware": {
    "pre": [
      {
        "name": "addTenantId",
        "path": "middleware/add-tenant-id.js",
        "require_session": true
      }
    ]
  }
}

Кастомний middleware на JavaScript додає заголовок X-Tenant-ID:

var addTenantId = new TykJS.TykMiddleware.NewMiddleware({})
addTenantId.NewProcessRequest(function(request, session, spec) {
    var tenantId = session.meta_data['tenant_id']
    request.SetHeaders['X-Tenant-ID'] = tenantId
    return TykJS.TykMiddleware.ReturnData(request, {})
})

Як Tyk обробляє 10 000 RPS?

Продуктивність одного інстансу Tyk досягає 10 000 RPS на стандартному обладнанні (4 vCPU, 8 GB RAM). Це досягається за рахунок асинхронного введення-виведення та низькорівневої роботи з сокетами в Go. У production-конфігурації ми використовуємо кілька реплік за балансувальником, що дозволяє обробляти до 50 000 RPS без втрати стабільності. Наприклад, у проекті з 15 мікросервісами та 20 000 RPS пікового навантаження Tyk справляється із середнім latency 5 мс (p95).

Чому Tyk вигідніше Kong?

Tyk на Go дає TTFB на 50% нижче порівняно з Kong на Lua — Tyk швидше за Kong в 2 рази за TTFB. Community Edition Tyk включає Dashboard та Developer Portal безкоштовно — Kong вимагає Enterprise-підписки. Tyk простіше в розгортанні: конфігурація через файли, не потребує окремої БД. У таблиці — ключові відмінності:

Характеристика Kong Tyk
Мова Lua/Go Go
Middleware Lua plugins JS/Go plugins
GraphQL Плагін Вбудовано
Dashboard Платний Безкоштовний
Конфігурація API/DB Файли/API/DB
Developer Portal Немає в OSS Є

Як підключити кастомний middleware в Tyk?

Middleware підключаються через поле custom_middleware в API Definition. Tyk підтримує два типи: pre (перед проксіюванням) та post (після відповіді бекенду). Крім JavaScript, можна використовувати плагіни на Go — це дає продуктивність близьку до нативної. У production ми реалізували middleware для централізованого логування, маскування PII-даних та динамічної маршрутизації на основі JWT claims.

Що входить у нашу роботу

  1. Аудит поточної архітектури — визначаємо точки інтеграції, вимоги до продуктивності (до 10 000 RPS) та безпеки.
  2. Розгортання Tyk Gateway + Dashboard — встановлення та налаштування під ваш стек (Docker, Kubernetes, bare metal).
  3. Конфігурація API-проксі — опис endpoints, політик безпеки, rate limiting (від 10 до 10 000 запитів на хвилину).
  4. Інтеграція аналітики — налаштування Pump та дашбордів у Grafana для моніторингу latency та error rate.
  5. Документація та навчання — гайди з управління та експлуатації для ваших інженерів.
  6. Технічна підтримка — супровід протягом місяця після запуску.

Терміни та вартість

Базова налаштування — від 2 днів, повна конфігурація — до 5 днів. Вартість розраховується індивідуально залежно від кількості API та складності middleware. Зв'яжіться з нами для детального обговорення — допоможемо налагодити API-інфраструктуру, яка витримає 50 000 RPS без збоїв. Замовте налаштування Tyk — ми впровадимо шлюз за 2 дні. Отримайте консультацію інженерів з досвідом 50+ проектів. Ми гарантуємо якість та сертифікацію рішення.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060