为了账号安全,请及时绑定邮箱和手机立即绑定

如何看待Spring 5引入函数式编程思想以及Reactor?

如何看待Spring 5引入函数式编程思想以及Reactor?

茅侃侃 2018-11-14 19:15:23
如何看待Spring 5引入函数式编程思想以及Reactor
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

感觉就是将Http Service 抽象为了 Function<Request ,
Response<Publisher<T>>>, Publisher就是Reactive
中常说的Observable或Stream,这里又叫Publisher (Flux&Mono),Publisher负责了异步操作
对其架构进行猜测:前方为传统的accept线程池,分发请求,运行route
functions,组合publishers
返回结果;后方为reactive的线程池(为RP提供异步支持),对于简单的操作直接返回Response<T>,不用后方的reactive线程;而对与DAO操作等耗时操作(返回Response<Publisher<T>>),则被异步化了
所以最大的变化是引入了Reactive
Programming,(并且Rx系的库API很Functional),前面route的DSL和SpringMVC的Mapping没多大变化(顶多就是个monoid
append) ;至于Reactive
Programming将DAO操作(包括RPC调用等)异步化,比自己去对Future做combination要高一级,不会出大问题(并且Publisher是个Monad,使用得当不会发生Callback
Hell)。

查看完整回答
反对 回复 2018-12-08
  • 1 回答
  • 0 关注
  • 986 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信