0116 spring的webFlux
背景 场景 要求 编程方法 电商和金融行业 数据一致性要求非常高 高并发的时候需要锁或者其它机制来保证一些重要数据的一致性;<br />但是性能也下降的很快; 游戏,新闻,视频,广告 不需要很高的数据一致性 对并发数和响应速度要求比较高 这种场景下,出现了响应式编程。依赖的基础技术点如下: 技术点 说明 servlet3.1 支持响应式编程 java8 语法丰富支持响应式编程,非堵塞式编程 spring5 新一代的web框架webflux,依托于servlet3.1+和java8 srpingboot2.x 使用了spring5 Rxjava 一种流行的响应式编程框架 Reactor spring5中响应式编程的默认实现方式 基本概念 响应式编程关键词: 数据流:流式处理 异步: 异步处理 消息:基于消息名 Reactor模型 客户端先向服务器端注册感兴趣的event,完成了事件订阅; 客户端发生已经注册的事件,会触发服务器的响应,服务器存在一个selector线程,【轮询客户端发送过来的事件】但是并不实际处理事件,而是找到对应的Request Handler,启用另外一条线程运行处理。 最终结果会转换成data stream,发送到客户端; WebFlux 基于servlet3.1对非阻塞机制,和java8的函数式语法,webflux出现了。 响应式编程分为3层: 层 说明