When I send a request to apigee, usually (approx 80% of the time) the requests get forwarded to the backend service and the request is processed. However, sometimes when the client sends a request to the apigee endpoint the backend service is never hit. To see this I use the trace element and am able to see the requests. For a typical request, I can see apigee getting hit and then I see the request being processed by the backend service. However when the request hasnt been forwarded to the backend service I can see the request on apigee but it never hits the backend service (trace shows the loading icon)
Has anyone experienced this same issue and found a solution?
Setup:
Dev enviornment
Hitting apigee loadbalancer
Using target servers/load balancing to backend service
This is the topology you describe:
Apigee MP <----[connectivity]----> LB <---[connectivity]---> target
"Request doesn't hit backend" could potentially be caused by all these 5 components.
"Trace shows the loading icon" likely means MP is waiting for a response back from target.
I would suggest
1. Make use of analytic reports to narrow down on the timing, URI, and specific targets that exhibit this issue.
There are 2 metrics that would be of interest to you : Max Total Response time, Max Target response time.
2. Under Edge UI, make use of Analytics -> Proxy Performance / Target Performance to isolate whether the issue is with Apigee or with target / connectivity.
3. Verify what's the TargetEndpoint timeout set at proxy level. When it is timed out, you should see the trace updated with a failure status regardless of whether the request hits target.