《Spring Boot 高级》5.3 阻塞代码的隔离
解释在事件循环线程上执行阻塞调用为何会拖垮整个服务,厘清 publishOn 与 subscribeOn 的语义差异与常见误用,说明 Schedulers.boundedElastic() 为何专为阻塞设计(本机实测默认 100 线程上限),并给出 BlockHound 检测与 WebFlux 阻塞执行隔离的配置方法。
tag
解释在事件循环线程上执行阻塞调用为何会拖垮整个服务,厘清 publishOn 与 subscribeOn 的语义差异与常见误用,说明 Schedulers.boundedElastic() 为何专为阻塞设计(本机实测默认 100 线程上限),并给出 BlockHound 检测与 WebFlux 阻塞执行隔离的配置方法。
拆开 WebFlux 的请求处理链:DispatcherHandler 如何取代 DispatcherServlet、响应式 HandlerMapping 与 HandlerAdapter 各自返回什么、返回 Mono 的控制器方法如何被 HandlerResultHandler 适配成响应,以及 WebFilter 与 Servlet Filter、函数式端点与注解式端点的取舍。
深入 Reactor 调度器与背压传递机制,掌握 WebFlux 线程模型、R2DBC/Mongo Reactive 数据访问,用基准数据对比 WebFlux 与 MVC 并给出选型决策树
深入探讨 Spring WebFlux 与 Project Reactor 反应式编程模型,涵盖 Mono/Flux 核心抽象、 常用操作符、背压策略、Netty 架构、WebClient、R2DBC 及 WebFlux 与 MVC 的 8 维度对比。 附带 12+ 完整 Java 代码示例与中文注释。