Using APISIX AI plugins to front LLM providers: provider routing with ai-proxy and ai-proxy-multi, token-based rate limits, prompt guards and templates, RAG and moderation plugins, and LLM metrics for cost tracking.
Rolling out new service versions through the gateway with the traffic-split plugin: weighted canaries, header-matched blue-green switching, rollback and how this differs from rate limiting.
Exposing gRPC services to REST and browser clients through APISIX grpc-transcode: uploading proto definitions, mapping service and method, deadlines and int64 handling.
Changing requests and responses at the gateway: proxy-rewrite for paths, hosts, headers and methods, response-rewrite and body-transformer, URI normalization, and when transformation belongs in the service instead.
Caching API responses at the gateway: disk versus memory, cache keys, methods and status codes, TTLs, per-consumer cache isolation from 3.17, upstream Cache-Control handling and data that must never be cached.
Stopping cascading failures with the api-breaker plugin: failure thresholds, the response returned while the breaker is open, backoff up to max_breaker_sec, recovery rules and how it combines with health checks and retries.
Keeping traffic away from failing backends: active and passive health checks, their defaults, why checks start only after the first request, consistent hashing by consumer, header or cookie, retries and the Control API status view.
Rejecting malformed requests before they reach services with the oas-validator plugin: inline or remote OpenAPI 3.x specs, which parts are validated, log-only rollout, body size limits and keeping specs in sync with releases.
Setting CORS at the gateway instead of in every service: allowed origins and the Vary header since 3.3, the expose_headers change in 3.10, credentials, preflight handling for gRPC-Web and avoiding wildcard origins on authenticated APIs.
Structuring plugin configuration so it stays manageable: global rules for gateway-wide policy, reusable plugin configs, precedence between consumer, route, plugin config and service, and the duplicate-plugin check added in 3.15.