Resiliency: Circuit Breaker

clip_image002

Circuit Breaker is a new resiliency feature in 12.2.1 that helps to simplify operations and ensure system stability when downstream endpoints become unavailable.

This post is meant to be a quick introduction to this new feature so you can start testing it out.

Circuit Breaker overview

Circuit Breaker enables you to configure the system to automatically suspend upstream endpoints when a downstream system is down or unreachable from a SOA composite. This prevents faults from building up in the server and relieves you from having to bulk-recover faulted instances. The upstream endpoints are automatically resumed after the downstream endpoint comes back up.

The circuit breaker feature works by monitoring downstream system failures and after x number of failures over y minutes (where x and y are configurable) any upstream web service, subscriber, or adapter where the failed messages originated from will be suspended.  For adapters and subscribers the messages will not be lost but will not be processed until the downstream system comes back up. Web Service requests will be rejected and it is up to the client program to handle these failures.

Suspended services will show up in the EM dashboard (below),  by clicking on the "Suspended since …" link another dialog will pop up that will allow you to jump to the error in the Error Hospital and/or re-enable the service. 

Once a service is suspended messages are allowed to "trickle" through periodically in order to test the downstream system.  If the downstream invocation succeeds then the upstream service is resumed.

Configuration

Circuit Breaker can be configured globally and overridden at the downstream endpoint. There may be situations where you don’t want downstream failures to cause services to be suspended, in this case you would disable the circuit breaker at the endpoint level, it is also possible to override the number of failures and failure window at the endpoint level. Conversely you can disable globally and enable at the endpoint level.  It is also possible to set the circuit breaker properties on an endpoint when designing the composite in JDev.

Global configuration

To display the configuration dialog go to SOA Infrastructure -> SOA Administration -> Resiliency Configuration. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki