framework
framework/webflux/index.md
medium
framework-webflux-index
Spring WebFlux 响应式编程约定 — Mono/Flux 基础、何时用响应式、阻塞陷阱、背压、WebClient 五个独立决策点。Use when 写 WebFlux 响应式代码 / 评估上不上响应式 / 排查阻塞与背压 / 发响应式 HTTP 时。
子项索引
| 子项 | 一句话 |
|---|---|
| webflux-mono-flux skill | Spring WebFlux 响应式基础 — Mono(0-1) vs Flux(0-N)、操作符 map/flatMap/zip、订阅才执行(lazy) |
| webflux-when-reactive skill | WebFlux 何时该用何时别用 — IO 密集高并发/流式收益大;CPU 密集/团队不熟/全栈未响应式化收益有限,与虚拟线程取舍对比 |
| webflux-blocking-trap skill | WebFlux 阻塞陷阱 — 事件循环线程里禁 block()/JDBC,改用 R2DBC/WebClient,用 BlockHound 检测 |
| webflux-backpressure skill | WebFlux 背压(backpressure) — 生产者快于消费者时用 onBackpressureBuffer/Drop/Latest 三种策略协调,避免内存堆积或 OOM |
| webflux-webclient skill | WebClient 替代 RestTemplate — 响应式非阻塞 HTTP 调用,配超时(responseTimeout)、重试(retryWhen 带退避)、错误状态映射 |
Spring WebFlux · 响应式编程约定索引
五个独立决策点,按你正在做的事下钻:
| 你在做什么 | 进哪个 |
|---|---|
| 写响应式代码、选 Mono/Flux、用 map/flatMap/zip | mono-flux |
| 纠结该不该上响应式 / 响应式还是虚拟线程 | when-reactive |
| 排查 WebFlux 卡顿、链里有 block()/JDBC | blocking-trap |
| 生产快于消费、Flux 内存涨/OOM | backpressure |
| 发响应式 HTTP、从 RestTemplate 迁移 | webclient |
链接
- 上层:
../index.md - 平行:
../spring-boot/index.md - 相关:
../../fundamentals/virtual-threads/index.md(响应式 vs 虚拟线程的取舍)