githubEdit

Tyk

Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols

Introduction

Tyk is an open-source API gateway written in Go that provides full lifecycle API management. It supports REST, GraphQL, TCP, and gRPC protocols with features including rate limiting, authentication, analytics, and developer portal capabilities. Tyk can be deployed as a standalone open-source gateway or as part of the Tyk Dashboard platform for enterprise use.

Key Features

  • Multi-Protocol: REST, GraphQL (including federation), gRPC, TCP, and WebSocket support

  • Authentication: API keys, JWT, OAuth 2.0, mTLS, OpenID Connect, HMAC

  • Rate Limiting: Global and per-key rate limiting with quota management

  • Analytics: Request logging and real-time analytics

  • Versioning: API versioning with deprecation management

  • Middleware Chain: Request/response transformation, header injection, body transformation

  • GraphQL: Native GraphQL proxy with schema stitching and federation

Installation

Docker Deployment

docker run -d --name tyk-gateway \
  -p 8080:8080 \
  -v $(pwd)/tyk.conf:/opt/tyk-gateway/tyk.conf \
  -v $(pwd)/apps:/opt/tyk-gateway/apps \
  tykio/tyk-gateway:latest

Helm Installation on Kubernetes

Configuration

Gateway Configuration (tyk.conf)

API Definition

API definitions are stored as JSON files in the apps/ directory:

Rate Limiting

Configure rate limiting in the API definition:

Reference:

Last updated