All Products
Search
Document Center

Microservices Engine:Configure system protection

Last Updated:Aug 25, 2026

System protection provides node-level traffic protection for a range of unexpected situations. For example, when an interface that has no traffic protection rule configured encounters a traffic spike, system protection acts as a safety net that ensures the stability of your application.

For the relationship between system protection and traffic protection, see System protection vs. traffic protection.

Protection features

Microservices Governance provides the following system protection features for server-side traffic and client-side traffic. Use the trigger metric and the load characteristics of your application to decide which features to configure.

FeatureTrigger metricApplies toMinimum agent version
Adaptive overload protectionCPU utilizationAll server-side interfaces3.1.4 or later
Total QPS throttlingTotal QPS of a nodeAll server-side interfaces4.2.0 or later
Total concurrency throttlingTotal concurrency of a nodeAll server-side interfaces4.2.0 or later
Abnormal call circuit breakingError ratio of an interfaceAll client-side interfaces, except interfaces that have interface-level circuit breaking rules configured4.2.0 or later
Slow call circuit breakingSlow call ratio of an interfaceAll client-side interfaces, except interfaces that have interface-level circuit breaking rules configured4.2.0 or later

Limits

Before you configure system protection, note the following limits:

  • Precedence — Adaptive overload protection, total QPS throttling, and total concurrency throttling have a lower priority than traffic protection rules.

  • Response status code — When throttling is triggered, system protection returns the 429 status code. Custom status codes are not supported.

Prerequisites

Procedure

  1. Log on to the MSE console, and select a region in the top navigation bar.

  2. In the left-side navigation pane, choose Microservices Governance > Application Governance.

  3. On the Application list page, click the resource card of the desired application. In the left-side navigation pane, click Traffic management.

  4. Click the System protection tab. For each feature that you want to use, set Mode and configure the thresholds that are described in the corresponding section of this topic.

To confirm that a feature protects traffic as expected, check the event list on the left side of the System protection tab and the trend chart on the right side. To stop a feature from throttling traffic, set its Mode to the disabled option.

Adaptive overload protection

How it works

Adaptive overload protection uses CPU utilization to measure system load and adaptively adjusts the throttling ratio for server-side traffic. Even during unexpected traffic spikes, it keeps CPU utilization relatively stable within the configured threshold.

Scenarios

Adaptive overload protection provides CPU-based fallback protection for server-side interfaces. Use it for CPU-bound applications, in which a spike on an unexpected interface drives up system CPU utilization and affects the response time (RT) of core interfaces.

Console

The System protection tab lists adaptive overload protection events on the left side. The right side shows the average CPU utilization trend of the application nodes over the last 5 minutes.

The top of the page contains the Mode setting for adaptive overload protection. In the CPU utilization line chart on the right, a blue dashed line marks the protection threshold, which is the protection watermark threshold.

Events are reported at the node level based on algorithm state changes. They include throttling start, throttling ongoing, and throttling end events.

Click the View link in the Actions column of an event to query the CPU utilization data of the corresponding node IP address. The timeline rewinds to the time when the event was reported, so that you can observe the CPU utilization and the throttling probability of the node when the event was triggered.

ParameterDescription
Mode
  • Close: Adaptive overload protection is disabled.

  • Simulated Execution: When adaptive overload protection is triggered, the system generates the corresponding events but does not actually adjust the traffic protection policy.

  • Enabled: When adaptive overload protection is triggered, the system adjusts the traffic protection policy and throttles a percentage of all ingress traffic.

CPU utilizationThe expected CPU utilization threshold. Adaptive overload protection combines the actual system CPU utilization with the configured CPU utilization threshold and uses an algorithm to adaptively adjust the throttling probability of interfaces. Under heavy load, the system rejects a portion of requests to keep CPU utilization fluctuating within a small range around the configured threshold. Steady-state CPU utilization varies with the business of each application. Determine the maximum steady-state CPU utilization by stress testing or from historical data, and then add a margin to that value.
ExceptionsFor more information, see Configure exceptions.

Total QPS throttling

How it works

Total QPS throttling tracks the total QPS at the node level, which is the sum of the QPS of all server-side interfaces on a single node, and throttles requests that exceed the threshold.

Scenarios

Not all systems are strongly CPU-bound. Some applications degrade in performance even at low CPU load because of memory, network, or other constraints. Total QPS throttling throttles traffic based on the total QPS of a node, which provides a traffic-based protection method.

Use total QPS throttling when a spike on an unexpected interface leads to contention for scarce resources, which affects core interfaces.

Console

The System protection tab lists total QPS throttling events on the left side. The right side shows the trend of the average total QPS request data of the application nodes over the last 5 minutes.

The line chart on the right displays the Total QPS, Passed QPS, and Blocked QPS trend curves together with the threshold reference line, which helps you observe the throttling effect.

Events are reported at the node and interface level based on the nodes and interfaces on which total QPS throttling actually occurred. Events are reported every 5 minutes and cover the throttling that occurred in the preceding 5 minutes.

Click the View link in the Actions column of an event to query the total QPS of the corresponding node IP address. The timeline rewinds to a point near the time when the event was reported, so that you can check whether the total QPS of the node and the throttling behavior meet your expectations. The interface details page and the node details page provide more detailed information, such as data at the interface and node level.

ParameterDescription
Mode
  • Disabled: Total QPS throttling is disabled.

  • Enabled: Requests that exceed the threshold are throttled.

Total QPS thresholdThe total QPS threshold at the node level. Determine the steady-state total QPS of a node by stress testing or from historical data, and then add a margin to that value.
ExceptionsFor more information, see Configure exceptions.

Total concurrency throttling

How it works

Total concurrency throttling tracks the total concurrency at the node level, which is the sum of the concurrent requests of all server-side interfaces on a single node, and throttles requests that exceed the threshold.

Scenarios

In scenarios with a high call RT, generally more than 1 second, QPS throttling shows an obvious problem. When contended system resources such as thread pools, memory, and connection pools are occupied, requests queue up and the RT of the interface rises further. If you rely only on QPS-based throttling, a small number of requests still enter the system every second, but the queued requests cannot be processed within seconds. The queue grows, the RT rises further, and the RT of both new and existing requests increases significantly.

With concurrency throttling, new requests are rejected immediately while a certain number of requests remain unfinished. Requests are throttled, but after the system finishes the current requests, new requests pass with a shorter queuing time. Overall, both the success rate and the average RT of requests improve significantly.

Use total concurrency throttling when a spike on an unexpected interface leads to contention for scarce resources, queue buildup, and a higher RT for all requests.

Console

The System protection tab lists total concurrency throttling events on the left side. The right side shows the trend of the average total concurrent request data of the application nodes over the last 5 minutes.

Events are reported at the node and interface level based on the nodes and interfaces on which total concurrency throttling actually occurred. Events are reported every 5 minutes and cover the throttling that occurred in the preceding 5 minutes.

Click the View link in the Actions column of an event to query the total concurrency of the corresponding node IP address. The timeline rewinds to a point near the time when the event was reported, so that you can check whether the total concurrency of the node and the throttling behavior meet your expectations. The interface details page and the node details page provide more detailed information, such as data at the interface and node level.

ParameterDescription
Mode
  • Disabled: Total concurrency throttling is disabled.

  • Enabled: Requests that exceed the threshold are throttled.

Total concurrency thresholdThe total concurrency threshold at the node level. Determine the steady-state total concurrency of a node by stress testing or from historical data, and then add a margin to that value.
ExceptionsFor more information, see Configure exceptions.

Abnormal call circuit breaking

How it works

Abnormal call circuit breaking tracks the error ratio of each client-side interface. When the error ratio exceeds the configured threshold, the circuit breaker trips for that interface. During circuit breaking, requests to the interface fail fast. At intervals, the system passes a probe request. When a probe request succeeds, circuit breaking ends.

Scenarios

Abnormal call circuit breaking mainly covers two scenarios:

  • Timeout errors — A high timeout error ratio on a client-side interface usually indicates that the service provider has a problem. This causes requests to pile up in the caller, which is your application, and affects the other interfaces of your application. Circuit breaking makes these requests fail fast while the provider is abnormal, which prevents the pileup.

  • Non-timeout errors — When the non-timeout error ratio of a client-side interface is too high, abnormal call circuit breaking throws a throttling exception that you can handle. This provides a degradation effect and improves the user experience in abnormal situations.

Console

The System protection tab lists abnormal call circuit breaking events on the left side. The right side shows the top 10 interfaces by error ratio for the application over the last 5 minutes.

Events are reported at the node and interface level based on the nodes and interfaces on which abnormal call circuit breaking actually occurred. Events are reported every 5 minutes and cover the throttling that occurred in the preceding 5 minutes.

ParameterDescription
Mode
  • Disabled: Abnormal call circuit breaking is disabled.

  • Enabled: Circuit breaking is triggered for requests that exceed the threshold.

Circuit breaking ratio threshold (%)The circuit breaking ratio threshold at the interface level.
ExceptionsFor more information, see Configure exceptions.

Advanced settings

ParameterDescription
Statistical window duration (seconds)The length of the statistical time window. Valid values: 1 second to 120 minutes.
Circuit breaking duration (s)The period for which circuit breaking lasts after it is triggered. After a resource enters the circuit breaking state, all requests fail fast within the configured circuit breaking duration.
Minimum number of requestsThe minimum number of requests required to trigger circuit breaking. If the number of requests in the current statistical window is less than this value, the rule is not triggered even if the circuit breaking condition is met.
Circuit breaking recovery strategy

The recovery strategy that the circuit breaker uses when it enters the recovery phase, which is the half-open state.

  • Single-probe recovery: After the circuit breaking duration elapses, the circuit breaker probes the next request. If the request meets expectations, which means it is neither a slow call nor an error, circuit breaking ends. Otherwise, the circuit breaker returns to the circuit breaking phase.

  • Progressive recovery: You must set Number of recovery phases and Minimum pass count per step.

  • After the circuit breaking duration elapses, the circuit breaker recovers progressively based on the configured number of recovery phases. When the requests in a phase reach a certain volume, which is the minimum pass count per step, a check is triggered. If none of the checked requests exceeds the threshold, the percentage of requests that are allowed to pass increases step by step until traffic fully recovers. If a metric exceeds the threshold in any step, the circuit breaker returns to the circuit breaking phase.

  • The request percentage T = 100/N, where N is the number of recovery phases. The first phase allows T% of requests, the second phase allows 2T%, and so on until 100%.

  • For example, if the number of recovery phases is 3 and the minimum pass count per step is 5, requests are allowed at percentages of 33%, 67%, and 100% in the three phases. When the number of requests in a phase reaches 5 or more, a check is performed. If the request metrics do not exceed the threshold, the circuit breaker enters the next recovery phase, until traffic fully recovers.

Slow call circuit breaking

How it works

Slow call circuit breaking tracks the slow call ratio of each client-side interface. When the slow call ratio exceeds the configured threshold, the circuit breaker trips for that interface. During circuit breaking, requests to the interface fail fast. At intervals, the system passes a probe request. When a probe request succeeds, circuit breaking ends.

Scenarios

Slow call circuit breaking covers basically the same scenario as the timeout scenario of abnormal call circuit breaking. The difference is that you can dynamically adjust the RT criterion that defines a slow call, without depending on the timeout configuration.

Console

The System protection tab lists slow call circuit breaking events on the left side. The right side shows the top 10 interfaces by average RT for the application over the last 5 minutes.

Events are reported at the node and interface level based on the nodes and interfaces on which slow call circuit breaking actually occurred. Events are reported every 5 minutes and cover the throttling that occurred in the preceding 5 minutes.

ParameterDescription
Mode
  • Disabled: Slow call circuit breaking is disabled.

  • Enabled: Circuit breaking is triggered for requests that exceed the threshold.

Slow call RT (ms)Requests with a response time longer than this value are considered slow calls.
Degradation threshold (%)When the percentage of requests with an RT longer than the configured slow call RT exceeds this threshold, circuit breaking is triggered.
ExceptionsFor more information, see Configure exceptions.

Advanced settings

ParameterDescription
Statistical window duration (seconds)The length of the statistical time window. Valid values: 1 second to 120 minutes.
Circuit breaking duration (s)The period for which circuit breaking lasts after it is triggered. After a resource enters the circuit breaking state, all requests fail fast within the configured circuit breaking duration.
Minimum number of requestsThe minimum number of requests required to trigger circuit breaking. If the number of requests in the current statistical window is less than this value, the rule is not triggered even if the circuit breaking condition is met.
Circuit breaking recovery strategy

The recovery strategy that the circuit breaker uses when it enters the recovery phase, which is the half-open state.

  • Single-probe recovery: After the circuit breaking duration elapses, the circuit breaker probes the next request. If the request meets expectations, which means it is neither a slow call nor an error, circuit breaking ends. Otherwise, the circuit breaker returns to the circuit breaking phase.

  • Progressive recovery: You must set Number of recovery phases and Minimum pass count per step.

  • After the circuit breaking duration elapses, the circuit breaker recovers progressively based on the configured number of recovery phases. When the requests in a phase reach a certain volume, which is the minimum pass count per step, a check is triggered. If none of the checked requests exceeds the threshold, the percentage of requests that are allowed to pass increases step by step until traffic fully recovers. If a metric exceeds the threshold in any step, the circuit breaker returns to the circuit breaking phase.

  • The request percentage T = 100/N, where N is the number of recovery phases. The first phase allows T% of requests, the second phase allows 2T%, and so on until 100% is reached.

  • For example, if the number of recovery phases is 3 and the minimum pass count per step is 5, requests are allowed at percentages of 33%, 67%, and 100% in the three phases. When the number of requests in a phase reaches 5 or more, a check is performed. If the request metrics do not exceed the threshold, the circuit breaker enters the next recovery phase, until traffic fully recovers.

Exceptions

How it works

You can configure exceptions for all system protection features. System protection always passes the interfaces in the exception list without checking the rules.

Exceptions require agent version 4.2.0 or later.

Scenarios

In most cases, you only need to configure exceptions for health check endpoints and critical system interfaces. Exceptions for health check endpoints prevent the node health status from being affected. Critical system interfaces have their own interface-level throttling limits and are expected to stay unaffected by system-level throttling.

Console

The System protection tab lists the interfaces that you can select directly on the left side. These are the interfaces called recently. For an interface that is not listed on the left, enter its name in the input box and press Enter to add it to the selected interfaces.

You can remove selected interfaces one by one by clicking × or clear them all by clicking Remove all. System protection does not apply the configured rules to the selected interfaces.

System protection vs. traffic protection

  • Both system protection and traffic protection keep an application in a steady state, but they cover different scenarios and cause different levels of traffic loss.

  • System protection provides traffic protection based on node-level metrics. It keeps the application itself in a steady state and covers most scenarios. However, system protection works from the perspective of the application and treats all interfaces equally, whereas interfaces in the same application differ in importance and in their impact on system load. Traffic protection lets you configure a different threshold for each interface, so it covers more scenarios and throttles as little traffic as possible while providing the same protection.

  • Overall, both system protection and traffic protection are effective. Traffic protection performs better in scenario coverage and traffic loss, and system protection is easier to configure. Therefore, the best practice is to combine both: use system protection to ensure application stability, and use traffic protection to reduce loss, which is the throttled traffic, through fine-grained configuration without compromising the protection effect.

References

For more information about traffic protection policies, see Traffic protection.