int*_*ged 15 spring reactive-programming netty project-reactor spring-webflux
我看过Spring Tips:使用Spring Framework 5.0的功能反应端点,并阅读了一些关于spring reactor的内容,但我无法理解它.
鉴于我有netty和spring reactor有效,让端点返回Flux/ Mono实例(jacksonified)而不是直接dto对象(jacksonified)有什么好处?我最初假设在http请求/响应上下文中,反应流将更像是websockets,其中服务器通过开放通道将数据推送到接收器,但似乎并非如此.
另外netty在反应式编程中实际上比tomcat做得更好?
如果这些问题看起来很愚蠢,我很抱歉,但我不太明白这个新框架方向的目的.它为什么会出现,它是如何工作的以及它解决了哪些问题?
dim*_*sli 12
我强烈建议你观看最近在Devoxx比利时出演的Rossen Stoyanchev的"Spring 5的Reactive Web Application".
在那里,他谈到表面上的Reactive Web Controller(如下所示)看起来像Spring MVC HTTP Servlet请求/响应控制器,但实际上并非如此
@GetMapping("/users/{id}")
public Mono<User> getUser(@PathValiable Long id) {
return this.userRepository.findById(id);
}
@GetMapping("/users")
public Flux<User> getUsers() {
return this.userRepository.findAll();
}
Run Code Online (Sandbox Code Playgroud)
他谈到了Servlet 3.1虽然非阻塞不能真正起到完全反应的作用,以及连接Servlet 3.1和Reactive Streams的粘合代码如何作为Servlet 3.1兼容Web容器(Jetty和Tomcat)的Spring 5更改的一部分实现.
当然,他正在接触完全反应性非阻塞兼容服务器(Netty,Undertow)以支持运行Reactive Streams.
| 归档时间: |
|
| 查看次数: |
8470 次 |
| 最近记录: |