Enterprise Distributed Application Service (EDAS) supports throttling and degradation of Spring Cloud applications, Dubbo applications, and High-speed Service Framework (HSF) applications by using Application High Availability Service (AHAS). EDAS allows you to view the throttling and degradation details and dynamic change rules in real time. EDAS ensures the availability of your applications.
- By default, newly deployed applications can use the AHAS component for throttling and degradation. You only need to turn on the AHAS switch when you create or deploy an application.
- If you have not enabled the throttling and degradation features for existing applications, turn on the AHAS switch when you deploy the applications again.
- If you have enabled the throttling and degradation features for existing applications, the original implementation method is used.
This feature is used to control the traffic threshold or adjust the traffic ratio. EDAS controls frontend website traffic to protect the backend core systems and ensure service availability. By adjusting the traffic threshold, the throttling feature controls the maximum traffic volume of the system.
To enable the throttling feature for a service, you must specify the throttling logic at the service provider end and specify the throttling strategy in EDAS. When service consumers call the service, all requests are processed by the throttling module. If the number of calls exceeds the preset threshold in a specific period, the throttling feature is triggered.
In EDAS, the degradation feature is used to reduce the call priority of non-core service providers whose responses to requests from downstream applications time out. This ensures the availability of upstream core applications.
To enable the degradation feature for a service, you must specify the degradation logic at the service consumer end and specify the degradation strategy in EDAS. If the response time of the service provider exceeds the preset threshold when a service consumer calls the service, the degradation feature is triggered.
- Log on to the EDAS console.
- In the left-side navigation pane, click Applications. In the top navigation bar, select a region. In the upper part of the page, select a namespace. On the Applications page, click the name of the desired application.
- In the left-side navigation pane, click Throttling and Degradation, and then click a specific menu item.
AHAS provides the following throttling and degradation features:
- Monitoring Details: You can view the data distribution and historical usage of all resources in the application.
- Cluster Point Links: The request trace page displays all resources of the current application on a single
instance and the real-time call data. The following two views are available:
- Tile view: displays the running information of resources without considering the trace relationship.
- Tree view: displays the tree structure of resources based on traces.
- Traffic Adjustment Rules: You can monitor application traffic metrics such as the queries per second (QPS) and the number of threads. When one of the metrics reaches the specified threshold, the application traffic is immediately blocked to prevent instantaneous traffic spikes and ensure application availability.
- Degradation Rules: You can monitor the response time or exception ratio of downstream dependent applications of an application. When the response time or exception ratio reaches the specified threshold, the priority of the downstream dependent applications is immediately reduced to prevent impact on this application and ensure application availability.
- System Rules: You can monitor application data in four dimensions including the load, response time, QPS, and number of threads, to control the inbound traffic of applications. This ensures the system stability and maximizes the throughput.
- Instances: You can view all instances where an application is connected to the AHAS throttling service. If no heartbeat packet is sent to the AHAS console for a period of time, the instance is automatically marked as disconnected.
- Operation Logs: EDAS records the operations that the current Alibaba Cloud account and Resource Access Management (RAM) users have performed on applications. A log entry includes the resource name, operation, operation time, and operator ID. This allows you to trace application and resource changes with ease.
- Permission Management: To configure and push the throttling rules for applications in AHAS by using a RAM user, you must grant the read and write permissions to this RAM user. This reduces the possibility of online issues that are caused by invalid configurations.