Enterprise Distributed Application Service (EDAS) supports throttling and degradation for Spring Cloud applications, Dubbo applications, and High-speed Service Framework (HSF) applications by using Application High Availability Service. 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 Application High Availability Service component for throttling and degradation. You need only to enable Application High Availability Service when you create or deploy an application.
- If you have not enabled the throttling and degradation features for existing applications, enable Application High Availability Service when you deploy the applications again.
- If you have enabled the throttling and degradation features for existing applications, your existing configurations are 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.
Application High Availability Service 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. If 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 to control the inbound traffic of applications. The dimensions are load, response time, QPS, and number of threads. This ensures the system stability and maximizes the throughput.
- Instances: You can view all instances on which an application is connected to the Application High Availability Service throttling service. If no heartbeat packet is sent to the Application High Availability Service 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 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: You may use a RAM user to configure and push the throttling rules for applications in Application High Availability Service. Then, you need to grant the read and write permissions to this RAM user to strictly manage the permissions. This reduces the possibility of online issues caused by incorrect push and configuration.