End-to-end throttling enables flexible canary release methods. It also poses some limits and leads to specific conventions.
If an application instance group belongs to multiple throttling environments, throttling conflicts may occur. Therefore, during end-to-end throttling, one application instance group can belong to only one throttling environment.
Uniqueness of the throttling property
After a request is marked by a throttling rule, the request is never marked by another throttling rule even if this request matches another throttling rule.
Priorities of throttling rules
An application may be used as the ingress application for multiple throttling environments, and a request may match multiple throttling rules at the same time. You must set priorities for multiple throttling rules because a request can be marked by only one throttling rule. The throttling rules that are created or modified later preferentially take effect.
Limits on the joint use of single application throttling and end-to-end throttling
An application may use both single application throttling and end-to-end throttling at the same time. An HSF rule created for single application throttling is equivalent to a throttling rule. An application instance group cannot belong to different throttling environments. If an application instance group has been added to a throttling environment, you can no longer create an HSF rule for throttling of the single application. Similarly, if an application instance group has an HSF rule, it cannot be added to another throttling environment.
Unique rule for the same ingress endpoint of an ingress application in single application throttling mode
In single application throttling mode, the HTTP or HSF rules of an application are subject to the uniqueness limit. One ingress endpoint of an application can be defined by only one HTTP or HSF rule. The following list defines an ingress endpoint:
- For the HTTP protocol, an endpoint refers to an application, and only one group can be set for an application.
- For the HSF protocol, an endpoint refers to an interface method of an application.
During single application throttling, only one HTTP rule can be defined for one application. Furthermore, an interface method of an application can be used only in one HSF rule.