Friday, June 25, 2021
Not too long ago, a reactive variant of the JDBC API was released, known as Reactive Relational Database Connectivity (R2DBC). While R2DBC started as an experiment to enable the integration of SQL databases into systems that use reactive programming models, it now specifies a robust specification that can be implemented to manage data in a fully-reactive and completely non-blocking fashion.
In this session, we’ll briefly go over the fundamentals that make R2DBC so powerful. Then we’ll take a pragmatic look at the recently released R2DBC driver from MariaDB to shed some light on how you can take advantage of crucial concepts, like event-driven behavior and back pressure, that enable fully-reactive, non-blocking interactions with relational databases.
Saturday, June 26, 2021
The talk will include an explanation of asynchronous non-blocking programming with code snippets. It will demonstrate how asynchronous non-blocking code helps with resource utilization, isolation beyond just performing I/O in parallel and show how it can be measured/benchmarked. I will present a quick primer on reactive programming. Using a scenario where we need to fetch data from different microservices, we will solve it by leveraging reactive operators to combine different sources of data, perform non-blocking I/O, exception handling, retries, fallbacks and explain how work is scheduled on different threads. Finally, we will go over common mistakes and gotchas with project reactor.