Reactive Programming for 20,000+ RPS Parallel Processing: Insights from a Naver Interviewer
This course is for developers who want to find fundamental solutions in environments where response times slow down as traffic increases, thread pools are quickly exhausted, and bottlenecks worsen with more external API calls. It helps you look at problems from the perspective of changing the architecture itself, rather than simply scaling out servers. Through this course, you will first understand the limitations of the traditional Spring MVC "Thread per Request" model. You will examine at the code level why throughput doesn't increase even when CPU resources are available, and exactly how blocking I/O occupies system resources. Next, you will learn the concepts and standard specifications of Reactive Streams and master how to handle data streams using Reactor's Mono and Flux. Beyond simple usage, you will learn through hands-on practice how data flows start, how they are consumed, and how throughput is controlled. In particular, you will directly implement design patterns that prevent OOM (Out of Memory) or overloads using Back Pressure. Additionally, you will understand the event loop-based processing structure of Spring WebFlux and conduct comparative exercises on how Non-Blocking I/O operates during actual request processing. By placing MVC and WebFlux side-by-side to verify their structural differences, you will also establish criteria for when to choose Reactive. This goes beyond simply "learning asynchrony." You will learn how to handle more requests with fewer threads, how to maintain a stable flow in environments with high external API dependencies, and develop the design intuition to secure throughput in high-concurrency environments.
61 learners
Level Beginner
Course period Unlimited

