LLM Rate Limiting & Traffic Management Service  ·  View 05 of 24  ·  Structure

Integration Architecture

Every interface in and out, with the protocol and cadence on each one.

Editable source SVG draw.io All views
Traffic sources
Traffic sources
Native SDK
Go · Python · TS
Native SDK...
Envoy ext_authz
no app change
Envoy ext_authz...
OpenAI-compatible API
drop-in base_url
OpenAI-compatible API...
LangChain / LlamaIndex
callback middleware
LangChain / LlamaIndex...
Batch Scheduler
bulk tier
Batch Scheduler...
Platform
Platform
LLM Traffic Manager
authorize · meter · route
LLM Traffic Manager...
Dependencies and sinks
Dependencies and sinks
Azure OpenAI
REST + Entra
Azure OpenAI...
Anthropic Claude
Messages API
Anthropic Claude...
Google Gemini
Vertex AI
Google Gemini...
Mixtral on vLLM
OpenAI-compatible
Mixtral on vLLM...
Keycloak
OIDC / JWKS
Keycloak...
Vault / OpenBao
dynamic secrets
Vault / OpenBao...
ClickHouse
usage ledger
ClickHouse...
Prometheus
OTLP + scrape
Prometheus...
Data Lakehouse
Iceberg on MinIO
Data Lakehouse...
gRPC Check
gRPC Check
gRPC v3
gRPC v3
HTTPS
HTTPS
HTTPS
HTTPS
queued admission
queued admission
completions
completions
completions
completions
completions
completions
completions
completions
token check
token check
key lease
key lease
usage rows
usage rows
metrics
metrics
nightly export
nightly export
Integration Architecture — every interface, both directions
Integration Architecture — every interface, both directions
External / third party
External / third party
Interface / broker
Interface / broker
Application we own
Application we own
Security / platform
Security / platform
Data store
Data store
synchronous
synchronous
batch
batch
event / async
event / async
Four ways in, one contract. Every inbound path resolves to the same Check RPC, so a policy behaves identically whichever mode a team adopts.
Four ways in, one contract. Every inbound path resolves to the same Check RPC, so a policy behaves identically whichever mode a team adopts.
v 1.0 · owner Data & AI Global Practice
v 1.0 · owner Data & AI Global Practice
Text is not SVG - cannot display

Decisions

  • Four inbound paths, one contract. Whichever way a team integrates, the request resolves to the same Check RPC, so a policy behaves identically across them and there is no second implementation to keep in step.
  • An OpenAI-compatible endpoint is offered deliberately: for most teams, adoption is a base_url change. That is the cheapest possible migration and it makes Mode A the path of least resistance.
  • Outbound provider credentials are never held by the application. llm-gateway leases them from Vault per tenant, so a tenant's key can be rotated or revoked without redeploying anything.

Cadence

  • Synchronous: Check RPC, provider completions, JWKS validation, secret lease.
  • Asynchronous: usage rows to ClickHouse, metrics to Prometheus, policy push to every pod.
  • Batch: nightly Iceberg export to the lakehouse, and the queued bulk admission path.

Risks

  • The LangChain and LlamaIndex middleware path relies on the framework's callback contract, which is less stable than the other three. It is offered as a convenience and teams are steered to Mode A.
  • Provider usage block formats differ and change. Where a provider omits token counts on a streaming response, the gateway falls back to its own tokenizer estimate and flags the row as estimated in the ledger.