This talk, given at JDK.io (recording may be available through them at some point) is a whirlwind introduction to RxJava, N1QL and reactive programming in general. It also talks about resiliency and various patterns you are likely to need.
load § React to failure § Be responsive under load and failure § Need new solutions § Decoupled, event-driven architectures § Optimal resource utilization Reactive? 2
https://github.com/ReactiveX § A library to compose asynchronous and event-driven programs through observable sequences. RxJava: Introduction single multiple sync T Iterable<T> async Future<T> Observable<T> 12
statement, no options available. § Parameterized § Executes a parameterized query with positional or named params § Prepared Query supported through adhoc(false) Query Types 33
plan for it § Do not trust integration points (including the SDK) § Synchronous retry & fallback is too damn hard § RxJava provides (almost) everything you need to § fallback § retry § fail fast Preparing to Fail 43
§ Don’t let your system get stuck § Shed load with backpressure § Retry § immediately won’t help § either linear or exponential back-off necessary § have a strategy if retry also doesn’t work (Fallbacks!)