Vik*_*wat 7 tomcat reactive-programming spring-webflux
我正在 Tomcat 上使用 Spring WebFlux 进行 POC。该堆栈是完全反应式的,并使用 Spring Reactor 和 Reactive Couchbase。
当我在系统上添加负载时,我看到 JVisualVM 中的线程数增加到 200+。基本上,reactor-http线程是有限的,如预期的那样大约有 4 个。
但是http-nio-exec线程跳到了 200 左右。如果我用 Netty 而不是 Tomcat 运行,线程数只限制在 30 左右。
有人能解释一下为什么 Tomcat 用反应式堆栈来启动这么多线程吗?
因为 netty 已经实现了一个事件循环机制,可以有效地切换传入的连接。Tomcat 仍然对每个请求使用模型一线程。
这是一篇关于这个问题的非常有趣的文章:
https://kamilszymanski.github.io/resources-utilization-in-reactive-services/
| 归档时间: |
|
| 查看次数: |
1236 次 |
| 最近记录: |