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.
Prerequisites
Application High Availability Service is activated.
Note You are separately charged for using Application High Availability Service.
Background information
- 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.
Overview
- Throttling
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.
- Degradation
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.
Procedure
- 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.