Reactive for CRUD: fantasies and reality
summary
Comparison of approaches for implementing basic CRUD services in Java/Spring: traditional blocking Spring MVC/JDBC, reactive stack with Spring WebFlux and R2DBC, and the newer Project Loom (virtual threads). The talk examines when each technology is appropriate and supports recommendations with load-testing results.
AI-written summary · about
chapters (30)
- 0:00Introduction
- 2:11Speaker and project history
- 6:11CRUD service implementation ways
- 11:2028 implementation options breakdown
- 13:12Test project and data structure
- 14:42Controller layer in approaches
- 16:28Service layer and transactions
- 18:15WebFlux and JDBC integration
- 19:22Project Loom and its role
- 20:05Cascading delete scenario
- 22:37JOOQ for query unification
- 24:50Code and reactive complexity conclusions
- 25:34Test bench setup
- 26:41Test scenario and load
- 27:44Load testing rules
- 29:13Testing parameter selection
- 30:38K6 metrics types
- 33:56Load graph analysis
- 36:06Grafana test results
- 37:55Preliminary voting results
- 39:44Approach performance comparison
- 41:11Test results: RPS and latency
- 42:39Query execution time analysis
- 44:02Project Loom performance impact
- 45:51Where reactive wins
- 46:54Zip operator delay tests
- 48:29Delay test results comparison
- 49:34Approach selection recommendations
- 50:37Main conclusion and testing call
- 51:00Q&A
related talks
49mReactive Spring
01h 11mServlet or Reactive Stacks: The Choice is Yours. Oh No... The Choice is Mine! - Rossen Stoyanchev
58mReactive Spring
47mReactive Spring
01h 00mMigrating from Imperative to Reactive
40mREACTIVE A New Hope! Learn From a Performance History
24mBringing Reactive Programming to Java and Microservices
41mThe definite guide to reactive programming in Java
