Layer7 API Management

  • 1.  Route via HTTP assertion clarification

    Posted Jun 02, 2016 10:04 AM

    Looking for some clarification on the following.

     

    Documentation for Route via HTTP says:

    The Read Timeout defines the maximum time (in milliseconds) allowed for response data (not necessarily the complete response) to be read for the outbound request. If exceeded, the routing will fail (or failover). To override the system default, clear the Use System Default] check box and enter a value. You may reference context variables.

     

    My question is, when using round robin failover strategy with multiple backend servers does this mean that a request would be retried on the next server in the list on a read timeout?  I would think the assertion would fail on a read timeout since a connection was established successfully and only failover on connection timeouts. Otherwise a request could be processed multiple times.

     

     

    Thanks,

    Mike



  • 2.  Re: Route via HTTP assertion clarification

    Posted Jun 15, 2016 11:47 PM

    If a failover strategy is present, a route will failover to the next destination once the retry attempts have been exceeded. If there is no failover strategy present, the route (and the assertion) will fail entirely.



  • 3.  Re: Route via HTTP assertion clarification

    Posted Jun 16, 2016 09:10 PM

    I would think retry attempts would be for connection attempts only not read timeout.

    If you've connected successfully but timed out waiting for a response that shouldn't qualify as something that should be retired. The transaction is possibly just taking longer than the readtimeout allows for.  Retrying the request in this case could possibly be resubmitting a duplicate successful request.



  • 4.  Re: Route via HTTP assertion clarification
    Best Answer

    Broadcom Employee
    Posted Aug 29, 2016 12:24 AM

    Michael,

     

    Update to a documentation has been added to overall performance recommendations:

    For best performance, configure Maximum Retries to "0" for no retries. The intelligence and logic to handle failures should be handled in the client and the Gateway should follow a "fail fast" model. Should the client not have built-in retry logic, enable 1 retry for only the HTTP GET method.

     

    Sincerely,

     

    Stephen Hughes

    Director, CA Support