- 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
- hot reload: Hot reload without reload service.
- 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.
- wolf-rbac User Authentication and Authorization based on RBAC.
- HTTPS/TLS: Dynamic load the SSL Certificate by Server Name Indication (SNI).
- limit-count: Rate limiting based on a "fixed window" implementation.
- limit-req: Request rate limiting and adjustment based on the "leaky bucket" method.
- limit-conn: Limite request concurrency (or concurrent connections).
- proxy-rewrite: Rewrite upstream request information.
- 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.
- grpc-transcode: REST <--> gRPC transcoding.
- serverless:Allows to dynamically run Lua code at different phase in APISIX.
- ip-restriction: IP whitelist/blacklist.
- openid-connect
- redirect: URI redirect.
- response-rewrite: Set customized response status code, body and header to the client.
- 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.
- proxy-cache: Provides the ability to cache upstream response data.
- tcp-logger: Log requests to TCP servers.
- udp-logger: Log requests to UDP servers.
- proxy-mirror: Provides the ability to mirror client requests.
- kafka-logger: Log requests to External Kafka servers.
- cors: Enable CORS(Cross-origin resource sharing) for your API.
- batch-requests: Allow you send mutiple http api via http pipeline.
- authz-keycloak: Authorization with Keycloak Identity Server.
- uri-blocker: Block client request by URI.
- oauth: Provides OAuth 2 authentication and introspection.
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.