anchor.diff:  :icons:
   :toc: macro
   :numbered: 1
  +ifdef::env-github[]
  +:tip-caption: :bulb:
  +:note-caption: :information_source:
  +:important-caption: :heavy_exclamation_mark:
  +:caution-caption: :fire:
  +:warning-caption: :warning:
  +endif::[]
   
   image:https://travis-ci.org/resilience4j/resilience4j.svg?branch=master["Build Status", link="https://travis-ci.org/resilience4j/resilience4j"] image:https://dev.azure.com/resilience4j/resilience4j/_apis/build/status/resilience4j.resilience4j?branchName=master["Build Status", link="https://dev.azure.com/resilience4j/resilience4j/_build/latest?definitionId=1&branchName=master"] image:https://api.bintray.com/packages/resilience4j/Maven/resilience4j/images/download.svg[link="https://bintray.com/resilience4j/Maven/resilience4j/_latestVersion"] image:http://img.shields.io/badge/license-ASF2-blue.svg["Apache License 2", link="http://www.apache.org/licenses/LICENSE-2.0.txt"]
   
  
positive.code:     .subscribe(event -> logger.info(...))
  ----
  
  NOTE: You can also consume events from other components. Find out more in our *https://resilience4j.readme.io/[User Guide]*
  
  == Talks
  * https://youtu.be/KosSsZEqS-k[Tomasz Skowroński at Cloud Native Warsaw: Resilience patterns in the post-Hystrix world]
  * https://www.youtube.com/watch?v=NHVxrLb3jFI[David Caron at SpringOne: Building Robust and Resilient Apps Using Spring Boot and Resilience4j
  ]
  * https://www.youtube.com/watch?v=gvDvOWtPLVY[Tomasz Skowroński at DevoxxPL: Hystrix is dead, now what?]
  
  == Companies that use Resilience4j
  
  * Deutsche Telekom (In an application with over 400 million request per day)
  * AOL (In an application with low latency requirements)
  * Netpulse (In system with 40+ integrations)
  * wescale.de (In a B2B integration platform)
  * Topia (In an HR application built with microservices architecture)
  * Auto Trader Group plc (UK’s largest digital automotive marketplace)
  * PlayStation Network (Platform backend)
  
  
  == License
  
  
negative.code:     .compose(CircuitBreakerOperator.of(circuitBreaker))
  ----
  
  NOTE: Resilience4j also provides Reactor operators for `RateLimiter`, `Bulkhead`, `TimeLimiter` and `Retry`. Find out more in our *https://resilience4j.readme.io/docs/getting-started-1[User Guide]*.
  
  [[ratelimiter]]
  === RateLimiter
  