This issue recommends a cloud-native, high-performance, scalable microservices API gateway. It is based on Nginx and etcd to achieve, compared with the traditional API gateway, APISIX has dynamic routing and plug-in hot loading, suitable for microservice system API management.
characteristic:
You can use Apache APISIX as the traffic inlet to process all business data, including dynamic routing, dynamic upstream, dynamic certificates, A/B testing, canary publishing, blue-green deployment, speed limiting, defense against malicious attacks, indicators, monitoring alarms, service observability, service governance, and more.
1.Suitable for all platforms:
Cloud-native: Platform agnostic, vendor lock-in free, APISIX can run from bare metal to Kubernetes
Running environment: Supports OpenResty and Tengine
ARM64 support: Don’t worry about locking in the underlying technology
2.Support for multiple protocols
TCP/UDP proxy: Dynamic TCP/UDP proxy
Dubbo Proxy: Dynamically HTTP to the Dubbo proxy
Dynamic MQTT proxy: Supports MQTT load balancing client_id, both support MQTT 3.1.*, 5.0
gRPC agent: Proxy gRPC traffic
gRPC transcoding: Supports protocol transcoding so that clients can access your gRPC API using HTTP/JSON
Proxy Dubbo: Tengine-based Dubbo Proxy
HTTP(S) forwarding proxy
SSL: Dynamically loads the SSL certificate
3.More secure handling
Authentication: key-auth, JWT, basic-auth, wolf-rbac, casbin, keycloak
IP whitelist/Blacklist
Recommendation whitelist/blacklist
IdP: Supports external authentication services, such as Auth0 and okta. Users can use it to connect to authentication methods such as OAuth 2.0
Anti-ReDoS (regular expression denial of service) : The built-in Anti-ReDoS policy can be implemented without configuration
CORS Enable CORS (Cross-source Resource Sharing) for your API
URI Blocker: Uses a URI to block client requests
4.extensibility
Custom plugins: allows hooks to common phases such as rewrite, access, header filter, body filter and log, and also allows hooks to balancer phases.
Plug-ins can be written in Java/Go/Python
Custom load balancing algorithm: You can use custom load balancing algorithms during this balancer phase.
User-defined route: Users can implement their own routing algorithms.
use:
Step 1: Install dependencies
Step 2: Install Apache APISIX
Step 3: Manage the Apache APISIX server
Step 4: Run the test case
Step 5: Update the management API token to protect Apache APISIX
Step 6: Build OpenResty for Apache APISIX
Step 7: Add the Systemd unit file to Apache APISIX
Advantages of Apache APISIX
APISIX belongs to the Apache Foundation, the technical architecture uses nginx+etcd, communication channels include mail, wechat, QQ, GitHub, Slack, etc., support latent, configuration rollback, plug-in hot loading, custom routing, Rest Aps to GRPC transcoding, unique dashboard, configuration center high availability, Support i any Nginx variable as a routing condition, etc.