我看到一些开发人员在Spring Boot上使用RxJava与Tomcat和Mysql。
据我所知:
-
响应式流的主要优点是每个请求只创建一个线程,因此数据库连接也应该是非阻塞的。
-
Tomcat为每个请求创建线程。
-
Spring Data Jpa is blocking.
我知道有一些非阻塞的关系型数据库库(如r2dbc)。
所以,我对tomcat和RxJava的好处特别困惑。
我想知道RxJava在以下场景中的好处:
-
tomcat Rest Api with Spring data JPA (Mysql).
-
Rest Api on tomcat with R2dbc (MySql).
谢谢。
Spring MVC和JPA的优点(阻塞),线性,易于编写和调试代码。慢的客户端可能会拖慢你的应用程序。
活性春天:小的线程池处理更多的请求-更少的内存消耗。缺点:开始"被动"思考需要时间。
:
https://www.baeldung.com/spring-mvc-async-vs-webflux
也:https://dzone.com/articles/micronaut-mastery-using-reactor-mono-and-flux如果你的rest API不总是访问数据库,你可以从这种方法中受益。