Search code examples
javakubernetesmicroservicesistio

Resend failed request


How can I configure istio for such case:

There is serviceentry with 10 external ip addresses. Two among them are broken.

I have configured circuit breaker, but don't quite sure is it possible to automatically resend request if it was failed on broken endpoint. Or it just removes this endpoint from connection pool, returning failure to application?


Solution

  • There are two fields under TrafficPolicy which are relevant to circuit breaking: ConnectionPoolSettings and OutlierDetectionIn

    ConnectionPoolSettings, the volume of connections can be configured for a service.

    OutlierDetection is for controlling the eviction of unhealthy services from the load balancing pool.

    So the endpoint is removed till the circuit becomes closed again and the service will be allowed to handle requests again. You can't resend a request and don't need to because after a threshold when circuit comes in closed state requests will sent to that service automatically.