The outlier instance removal feature monitors the availability of Spring Cloud and Dubbo application instances and dynamically adjusts the application instances. This ensures successful service calls and improves the service stability and quality of service (QoS). To remove outlier instances, you must create an outlier instance removal policy.
Create an outlier instance removal policy
- In the left-side navigation pane, choose Outlier Ejection., and then click
- On the Outlier Instance Removal page, click Create Strategy.
- In the Create Strategy wizard, set the parameters on the Basic Info page and click Next.
- Namespace: Select a region and a namespace from the drop-down lists.
- Strategy Name: Enter a policy name. The name can be up to 64 characters in length.
- Framework Used by the Called Service: Select Dubbo or Spring Cloud as needed.
- On the Select Effect App page in the Create Strategy wizard, select the target application and click > to add the application to Selected application. Then, click Next.
After the target application is selected, all abnormal application instances that are called by this application are removed. Call requests from the effective application are not sent to the removed instances.
- In the Create Strategy wizard, set the parameters on the Configuration Strategy page and click Next.
- Exception Type: Select Network Anomaly or Network Anomaly + Business Anomaly (Dubbo Exception) as needed.
- QPS Lower Limit: Enter a queries per second (QPS) lower limit based on the statistical time window. The time window of applications in Dubbo 2.7 is 15s, and 10s for applications in Dubbo of other versions and Spring Cloud. When the QPS in a statistical time window, for example, 15s, reaches the specified lower limit, Enterprise Distributed Application Service (EDAS) starts collecting and analyzing error rate statistics.
- Lower Error Rate: Set a call error rate threshold. If the error rate for an instance of the called application exceeds this value, the instance will be removed. Default value: 50%. For example, you set this parameter to 50%. An instance is removed if it is called 10 times in the statistical time window, but six calls fail (that is, the error rate is 60%).
- Maximum Number of Removed Instances: Set the maximum number of abnormal instances to be removed. No more abnormal instances will be removed after the threshold is reached. For example, the total number of instances of an application is 6 and this parameter is set to 60%. The number of instances that can be removed is 3.6 (6 × 60%), which is rounded down to the nearest integer 3. If the calculated result is less than 1, no instance will be removed.
- Recovery Detection Unit Time: Set an interval for detecting whether abnormal instances are recovered, in milliseconds. After abnormal instances are removed, EDAS continuously accumulates the detection interval by the specified time unit. Default value: 30000 ms, that is, 0.5 minute.
- Maximum Number of Cumulative Rollbacks: Set the maximum number of cumulative rollbacks exceeding which the detection interval is no longer increased. For example, you set Recovery Detection Unit Time to 30000 ms and Maximum Number of Cumulative Rollbacks to 20. If the abnormal instance remains unrecovered after being detected 20 times, the instance is subsequently detected at an interval of 10 minutes (20 × 30000 ms). If the instance has been recovered before the specified threshold, the detection interval is reset to Recovery Detection Unit Time.
Note We recommend that you do not set Maximum Number of Cumulative Rollbacks to a large value. A large value will lead to a long detection interval. If the instance is recovered early in the detection interval, the recovery cannot be detected in a timely manner. This results in resource waste and postponed processing of service call requests.
- In the Create Strategy wizard, confirm the settings on the Complete Creation page and click Submit.