- APISIX Readme
- Architecture Design
- Benchmark
- Getting Started Guide
- How to build Apache APISIX
- Health Check: Enable health check on the upstream node, and will automatically filter unhealthy nodes during load balancing to ensure system stability.
- Router radixtree
- Stand Alone Model: Supports to load route rules from local yaml file, it is more friendly such as under the kubernetes(k8s).
- Stream Proxy
- Admin API
- Changelog
- Code Style
- FAQ
General
- batch-requests: Allow you send mutiple http api via http pipeline.
- hot reload: Hot reload without reload service.
- HTTPS/TLS: Dynamic load the SSL Certificate by Server Name Indication (SNI).
- serverless:Allows to dynamically run Lua code at different phase in APISIX.
- redirect: URI redirect.
Transformation
- response-rewrite: Set customized response status code, body and header to the client.
- proxy-rewrite: Rewrite upstream request information.
- grpc-transcode: REST <--> gRPC transcoding.
- fault-injection: The specified response body, response code, and response time can be returned, which provides processing capabilities in different failure scenarios, such as service failure, service overload, and high service delay.
Authentication
- key-auth: User authentication based on Key Authentication.
- JWT-auth: User authentication based on JWT (JSON Web Tokens) Authentication.
- basic-auth: User authentication based on Basic Authentication.
- oauth: Provides OAuth 2 authentication and introspection.
Authorization
- authz-keycloak: Authorization with Keycloak Identity Server.
- wolf-rbac User Authentication and Authorization based on RBAC.
Security
- cors: Enable CORS(Cross-origin resource sharing) for your API.
- uri-blocker: Block client request by URI.
- ip-restriction: IP whitelist/blacklist.
- referer-restriction: Referer whitelist.
Traffic
- limit-req: Request rate limiting and adjustment based on the "leaky bucket" method.
- limit-conn: Limite request concurrency (or concurrent connections).
- limit-count: Rate limiting based on a "fixed window" implementation.
- proxy-cache: Provides the ability to cache upstream response data.
- request-validation: Validates requests before forwarding to upstream.
- proxy-mirror: Provides the ability to mirror client requests.
Monitoring
- prometheus: Expose metrics related to APISIX and proxied upstream services in Prometheus exposition format, which can be scraped by a Prometheus Server.
- OpenTracing: Supports Zikpin and Apache SkyWalking.
- Skywalking: Supports Apache SkyWalking.
Loggers
- http-logger: Log requests to http servers.
- tcp-logger: Log requests to TCP servers.
- kafka-logger: Log requests to External Kafka servers.
- udp-logger: Log requests to UDP servers.
- sys-log: Log requests to Syslog.
- log-rotate: Rotate access/error log files.
The recommended approach is to deploy APISIX with AWS CDK on AWS Fargate which helps you decouple the APISIX layer and the upstream layer on top of a fully-managed and secure serverless container compute environment with autoscaling capabilities.
See this guide by Pahud Hsieh and learn how to provision the recommended architecture 100% in AWS CDK.
See this guide and learn how to deploy apisix in Kubernetes.