Reactive Java chuyên sâu
Từ Java Concurrency, CompletableFuture và Event Loop đến Reactive Streams, Project Reactor, Spring WebFlux, Vert.x và hai project cuối khóa cùng một bài toán.
Module 01–05 — Foundation
Các module nền tảng của khóa học. Nên đọc tuần tự từ Module 01 đến Module 05.
Scope & Course Architecture
Baseline phiên bản, target reader, roadmap, chapter template, terminology và Definition of Done.
Mở Module 01 →Official Source Map
Ground truth từ Java, Reactive Streams, Reactor, Spring và Vert.x official documentation.
Mở Module 02 →Java Concurrency Foundation
Threads, race condition, visibility, synchronization, thread pools, deadlock và Virtual Threads.
Học Module 03 →CompletableFuture
Future, async composition, thenApply/thenCompose, combining, executor semantics, errors và timeout.
Học Module 04 →NIO & Event Loop
Blocking vs non-blocking I/O, Selector, SelectionKey, event loop, blocking experiments và tail latency.
Học Module 05 →Roadmap học tập
Đi theo thứ tự từ nền tảng đến framework. Không nên nhảy qua Reactive Streams hoặc Event Loop.
Foundation
Nắm bản chất concurrency, async, blocking và event loop trước khi học framework.
Đọc Foundation study companion (Module 03–07) → [legacy source: modules/03-07-foundation-guide.md]
Java Concurrency Foundation
Thread, race condition, synchronization, thread pool, deadlock, virtual threads và blocking server lab.
Mở Module 03 →CompletableFuture & Async Composition
Future, CompletionStage, thenApply, thenCompose, executor semantics, timeout và cancellation.
Mở Module 04 →Java NIO & Event Loop
Blocking I/O, NIO, Selector, readiness model, event loop và “Never block the event loop”.
Mở Module 05 →Reactive Core
Từ Reactive Streams protocol đến Reactor operators, scheduler và backpressure.
Reactive Streams
Publisher, Subscriber, Subscription, demand, cancellation, protocol rules và backpressure.
Mở Module 06 →Project Reactor
Mono, Flux, map/flatMap, error handling, schedulers, backpressure, testing và debugging.
Mở Module 07 →Spring WebFlux
Reactive web stack trong Spring ecosystem.
Spring WebFlux
Architecture, controllers, functional endpoints, WebClient, R2DBC, Security, SSE, WebSocket và testing.
Mở Module 08 →Vert.x
Event-driven toolkit với Verticle, Context, Future, Event Bus, Router và SQL Client.
Vert.x Core
Vertx instance, Context, Event Loop, VerticleBase, Future, Promise, workers, HTTP và Event Bus.
Mở Module 09 →Vert.x Web & Data
Router, RoutingContext, WebClient, PostgreSQL Client, transactions, validation và testing.
Mở Module 10 →Production & Comparison
Đưa kiến thức framework về bài toán production, reliability và trade-off thực tế.
Production Reactive Systems
Timeout, retry, circuit breaker, idempotency, observability, tracing, load testing, latency và bottleneck analysis.
Mở Module 11 →WebFlux vs Vert.x
So sánh async abstraction, threading, backpressure, HTTP model, architecture, complexity và Virtual Threads.
Mở Module 11 →Capstone Projects
Cùng một business problem, hai implementation khác nhau để so sánh công bằng.
Reactive Order Platform — WebFlux
Spring Boot + WebFlux + Reactor + WebClient + R2DBC + Reactive Redis + SSE + observability.
Mở Module 13 →Reactive Order Platform — Vert.x
Vert.x Core + Web + Future + Verticles + Event Bus + WebClient + PostgreSQL Client + SSE.
Mở Module 14 →Benchmark & Final Review
Không tìm framework “thắng tuyệt đối”; mục tiêu là hiểu behavior và trade-off.
Quy tắc học
Các nguyên tắc xuyên suốt toàn bộ giáo trình.
Không đồng nhất hai khái niệm.
Phải đo workload thực tế.
Luôn nhận diện blocking call.
Toàn bộ Module 01–16
Learning path + project path hoàn chỉnh.