R2DBC

Acceso reactivo a bases de datos relacionales: rompiendo la barrera bloqueante
Super R2DBC al rescate

Era un día normal en la empresa. Nuestros servidores iban lentos, los tiempos de respuesta aumentaban y los usuarios se quejaban. La aplicación reactiva funcionaba perfectamente en la capa web, pero en cuanto tocaba la base de datos... ¡todo se bloqueaba!

—¿Y ahora quién podrá ayudarnos? —dijo el equipo desesperado.

De repente, apareció una figura brillante en el horizonte del código...

—¡Yo! ¡Super R2DBC! —exclamó el héroe de las bases de datos reactivas.

Con un simple cambio de configuración, nuestra aplicación pasó de ser parcialmente reactiva a serlo de extremo a extremo. Los tiempos de respuesta mejoraron, la capacidad de concurrencia se multiplicó por diez y los usuarios volvieron a sonreír. El día estaba salvado gracias a... ¡Super R2DBC!

Super R2DBC Hero
¿Quién está detrás de R2DBC?

R2DBC nació en 2018, impulsado por ingenieros de Pivotal (VMware), para unir el mundo reactivo y las bases de datos relacionales. Así se creó el puente entre dos paradigmas hasta entonces incompatibles.

¿Cómo configuro R2DBC?
spring:
  r2dbc:
    url: r2dbc:postgresql://localhost:5432/miapp
    username: usuario
    password: secreto
¿Cómo lo uso?
Mono<Usuario> usuarioMono = DatabaseClient.create(connectionFactory)
    .sql("SELECT * FROM usuarios WHERE id = :id")
    .bind("id", 1)
    .map(row -> new Usuario(row.get("id", Integer.class), row.get("nombre", String.class)))
    .one();
Bases de datos compatibles
  • PostgreSQL
  • MySQL/MariaDB
  • Microsoft SQL Server
  • H2
  • Oracle
¿Dónde brilla más?
  • Black Friday: miles de peticiones por segundo.
  • Microservicios con Spring WebFlux.
  • Tiempo real: IoT, cotizaciones, sensores.
  • En la nube: eficiencia y ahorro.
  • Equipos pequeños con grandes retos.
Nota final
No necesitas cambiar a NoSQL. Yo, R2DBC, estoy aquí para ayudarte.
R2DBC Ok