用途:面向使用 Spring 生态构建非阻塞响应式应用的场景,讲解 Spring WebFlux 与 Project Reactor 的实践写法。
主要能力:核心内容包含 WebFlux 中使用 @RestController 返回 Mono 与 Flux、Project Reactor 常用操作符(map、flatMap、filter)、R2DBC 响应式数据库访问;进阶内容包含错误处理(onErrorResume、onErrorReturn)、背压处理、SSE;高级内容包含 WebSocket 响应式处理器、RSocket 双向响应式流、响应式链中的上下文传播(MDC)。同时提供操作符速查(map、flatMap、flatMapMany、filter、take、skip、distinct、merge、concat、zip、retry、timeout、doOnNext、doOnError、doFinally、log 等)与排错指南。
使用方式:以 Skill("spring-reactive") 调用。可配置参数:reactive_db(默认 r2dbc-postgresql,可选 r2dbc-postgresql、r2dbc-mysql、mongodb)、streaming(可选 sse、websocket、rsocket)、backpressure(默认 buffer,可选 buffer、drop、latest)。
适用场景:需要构建非阻塞接口、响应式数据访问、事件流推送或双向流通信的 Spring 项目;也可参考其中的单元测试模板(@WebFluxTest 配合 WebTestClient、@MockBean)。
限制与排错要点:控制器需返回 Mono/Flux 而非手动订阅,否则不会有响应;避免在响应式链中执行阻塞调用(如 JDBC、Thread.sleep),必要时使用 subscribeOn(Schedulers.boundedElastic());无界缓冲可能引发内存问题,应设置背压策略;可通过 Hooks.onOperatorDebug() 开启 Reactor 调试,配合 .log() 观察链路。资料未提供收费、价格与具体平台支持信息。版本记录:1.0.0(2024-01-01)初始发布,2.0.0(2024-12-30)加入 R2DBC、SSE、WebTestClient 模式。