Both ACK managed cluster and ACK Serverless cluster support the use of Nginx Ingress, ALB Ingress, and MSE Ingress for exposing container services and managing routing. Nginx Ingress requires self-maintenance, whereas ALB Ingress and MSE Ingress provide fully managed gateways. This topic compares the differences in features, architecture, and performance among Nginx Ingress, ALB Ingress, and MSE Ingress in various scenarios and workflows to assist in selecting the suitable Ingress type.
Background information
Nginx Ingress: A Layer 7 traffic management solution with advanced routing features, based on the open-source community Ingress NGINX Controller. It is fully compatible with the upstream community and supports extensibility. This component is maintained by the user, with no SLA guarantee, and allows for extensive customization.
ALB Ingress: Alibaba Cloud's proprietary cloud-native Ingress gateway, compatible with Nginx Ingress, features a fully managed integrated design, supports SSL hardware acceleration, and offers automatic elasticity, low latency, and complex business routing capabilities. A single ALB instance can handle up to 1 million QPS, providing robust Ingress traffic management features. For more information about the ALB Ingress cloud-native gateway, see ALB Ingress management.
MSE Ingress: Alibaba Cloud's open-source Higress enterprise edition, compatible with Nginx Ingress, is ideal for microservices scenarios. It supports multiple service discovery methods, authentication, and authorization, along with multi-language plug-in extensions. Key capabilities include canary release, prefetch, and throttling. A single MSE cloud-native gateway instance can handle up to 1 million QPS, offering advanced Ingress traffic management features.
Scenarios
Type | Typical scenarios |
Nginx Ingress |
|
ALB Ingress |
|
MSE Ingress |
|
Workflow diagram
Examine the differences in working methods among Nginx Ingress, ALB Ingress, and MSE Ingress through a workflow diagram, illustrating the process from the request domain name www.example.net/app to the forwarding and accessing of specific container services.
Nginx Ingress
The Nginx Ingress Controller integrates both the control plane and the data plane. Each Nginx Ingress Controller Pod contains a Controller process (control plane) and Nginx-related processes (data plane), handling both configuration traffic and user request traffic.
ALB Ingress
The ALB Ingress Controller dynamically updates the ALB instance based on changes in Ingress resources and AlbConfig resources obtained through the API Server. Unlike the Nginx Ingress Controller, the ALB Ingress Controller is a managed component that serves as the control plane for the ALB instance and does not directly handle user request traffic. User traffic forwarding is implemented by the ALB instance.
MSE Ingress
The MSE Ingress Controller monitors MseIngressConfig resources in the cluster and coordinates MSE cloud-native gateway instances to implement traffic management rules specified in the Ingress resource description. Unlike the Nginx Ingress Controller, the MSE Ingress Controller manages MSE cloud-native gateway instances and configurations as the control plane and does not directly handle user request traffic. The routing and forwarding of user traffic are implemented by the MSE cloud-native gateway instance.
Features
Comparison Item | Nginx Ingress | ALB Ingress | MSE Ingress |
Service Scope |
|
|
|
Architecture | Built on Nginx with Lua plug-in extensions. |
|
|
Basic Routing |
|
|
|
Supported Protocols |
|
|
|
Configuration Change |
|
|
|
Authentication |
| Supports TLS-based authentication. |
|
Performance |
|
|
|
Observability |
|
|
|
O&M Capabilities |
|
| Offers a fully managed gateway, free from O&M responsibilities. |
Security |
|
|
|
Billing |
|
|
|
Component Management | For more information, see Manage Nginx Ingress Controller components. | For more information, see Manage ALB Ingress Controller components. | For more information, see Manage MSE Ingress Controller components. |
Service Administration |
|
|
|
Extensibility | Supports Lua for extended feature configuration. | Supports AScript for extended feature configuration. For more details, see AScript overview. |
|
Cloud-native Integration | Requires manual component management and integrates with Alibaba Cloud ACK or ACK Serverless container services. For more information, see Ingress management. |
| User-side components integrate with Alibaba Cloud ACK or ACK Serverless container services, offering seamless conversion of core Nginx Ingress annotations. For more about supported annotations by MSE Ingress, see Annotations supported by MSE Ingress. |
References
For more information on migrating from Nginx Ingress to other Ingress types or ASM gateways, see: