When your High-speed Service Framework (HSF) microservice-oriented application that is deployed in Enterprise Distributed Application Service (EDAS) fails, you can troubleshoot the specific application by using the end-to end throttling feature. This improves the troubleshooting efficiency and ensures the normal operation of the entire microservice-oriented application. This topic uses an example to describe how to troubleshoot application issues by using the end-to end throttling feature.

Limits

If you use the end-to end throttling feature to troubleshoot application issues during canary releases, take note of the following limits:

  • The application must be deployed in an Elastic Compute Service (ECS) cluster.
  • The application must run in EDAS Container, which means that the application is an HSF application.
  • The application cannot be deployed by using images.

Scenario

Applications A, B, C, and D are deployed on an HSF microservice-oriented application. The versions are A1, B1, C1, and D1. The HSF microservice-oriented application fails. The preliminary troubleshooting indicates that issues exist in Application B and Application D. The end-to end throttling feature is used to route the specific traffic to the throttling groups of Application B and Application D for troubleshooting.

Troubleshooting process

The troubleshooting process is divided into two phases: troubleshoot Application D first and then Application B.

Procedure

You can perform the following steps to troubleshoot the issues.

  1. Create a throttling group for Application D. For more information, see Manage instance groups of applications deployed in ECS clusters.
  2. Create a throttling environment, specify Application A as the inbound application, and then configure a throttling rule for Application A. Add the throttling group of Application D to the throttling environment and enable the throttling environment. For more information, see Create a throttling environment for multiple applications.
    The method that is used to identify and test canary traffic on inbound HTTP applications is convenient and general. In this example, the inbound HTTP application is Application A, and the application that requires troubleshooting is Application D. The canary traffic is identified and processed on different applications. Therefore, the end-to-end throttling capability is required.
    Note If no instances are deployed in the throttling group, the group cannot receive the canary traffic, and canary degradation is triggered. The canary traffic is destined for the applications in the default group. After an instance is added to the throttling group, canary degradation is disabled, and the canary traffic is destined for the instance in the throttling group.
  3. Add an instance to the throttling group of Application D. For more information, see Add an instance.

    Add the instance based on the version of the instance in the default group.

  4. Check whether the traffic distribution meets your requirements and troubleshoot the issues in the throttling group of Application D.
    1. To determine whether the throttling rule takes effect and whether the traffic distribution meets your requirements, click Flow Monitoring next to the throttling group. For more information, see Monitor canary traffic.
    2. Troubleshoot the issues based on the canary traffic in the throttling group of Application D.
      • If the troubleshooting goes smoothly, create a throttling group for Application B for troubleshooting.

        The throttling group of Application D is created after you create the throttling environment and configure the throttling rule. You can first configure a throttling rule or first add instances to throttling groups. The sequence of the two operations is flexible. For more information, see End-to-end traffic adjustment policy.

      • If the configurations are invalid or you must update the version of the application, disable the throttling environment and remove instances from the throttling group of Application D. After the configuration is modified or the new version is available, enable the throttling environment and redeploy the application for verification.
  5. Create a throttling group for Application B. For more information, see Create a group.
  6. Add the throttling group of Application B to the throttling environment. For more information, see Create a throttling environment for multiple applications.
  7. Add an instance to the throttling group of Application B. For more information, see Add an instance.
  8. Check whether the traffic distribution meets your requirements and troubleshoot the issues in the throttling groups of Application B and Application D.
    1. To determine whether the throttling rule takes effect and whether the traffic distribution meets your requirements, click Flow Monitoring next to the throttling group. For more information, see Monitor canary traffic.
    2. Troubleshoot the issues based on the canary traffic in the throttling groups of Application B and Application D.
      • If the troubleshooting process is completed, disable the throttling environment and delete the throttling groups of Application B and Application D. You can delete the throttling environment based on your business requirements.
      • If configurations are invalid or you must update the version of an application, update the application or configurations and verify again after redeployment.

        The troubleshooting is not complete. The throttling environment is not stopped, but the instance is removed from the throttling group of Application B.