推荐序六
随着Project Reactor 3(后来的Spring Reactor 3)在Spring Framework 5.2中正式登场,响应式编程“杀入”了国内应用开发的前线。不少开发团队为了能够实现低延迟和高吞吐量而选择使用Spring WebFlux。但这并非易事,全新的编程风格和设计方式让很多程序员望而却步。相信国内不少对响应式编程有一些认识和了解的人都看过本书作者分享的内容,他被视为国内少有的响应式编程和NIO方面的专家,多年来一直坚持对JDK、Reactor、Reactor-Netty、Spring WebFlux和RxJava等技术进行源码解读和知识分享。时至今日,Spring全家桶和Project Reactor的子项目依旧保持着活跃的更新频率,作者也一直保持着对这些项目的代码设计和源码更新的关注。为了帮助国人更快地接受响应式编程思想,近两年他分享了大量相关前沿技术、源码解读和设计思路的视频和文章,并将这些内容发布到B站(https://space.bilibili.com/2494318)和simtoco(https://www.simtoco.com)上,供需要的人观看和学习,这些视频无疑是国内响应式编程领域的宝贵财富。与此同时,“Java编程方法论系列丛书”的第二本书伴随着这个过程,历经反复迭代,终于出版了!
以往,由于Java程序中存在着过多或过重的线程及I/O阻塞,因此系统性能浪费情况严重。如果将它们替换为完全异步的处理方式,就能够让机器发挥出更优秀的性能,减少不必要的浪费。当下,Spring的相关项目都在向响应式编程的方向发展,由Spring所提供的Reactor为Java程序员带来了更高性能的编程实现方式。但想要驾驭Reactor并不容易,如果你对Reactor理解得不够,错误的使用方式将会导致你的响应式程序的性能不及传统的命令式程序,因此对Reactor的认识和理解非常重要。限于篇幅,这本书无法将Spring Reactor的一切都一一展现出来,作者在网络上更新发布的相关分享视频同样值得学习。图书较为系统,而视频则更加灵活,可以看作这本书的补充和拓展。
响应式编程基础库Reactor在Java编程中正变得无处不在,就像Netty被用在众多涉及网络通信的开源项目中一样,Reactor也必将出现在更多流行的开源项目中,诸如Reactor-Netty和Spring WebFlux,而这些项目必将成为网络通信、IoT及Web等应用领域中的新主流。能够越早地对Reactor的设计思想与实现方式有所认识和了解,你在未来的工作和学习中将越早地把握住自己的未来。
尹相宇
simviso成员