1、响应式编程基础
1.1、什么是响应式编程?
响应式编程是一种面向数据流和变化传播的编程范式。
使用它可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。我们可以使用声明的方式构建应用程序的能力,形成更加敏感和有弹性的应用。
1.2、响应式编程的优势
-
提高了代码的可读性,因此开发人员只需要关注定义业务逻辑。
-
在高并发环境中,可以自然的处理消息。
-
可以控制生产者和消费者之间的流量,避免内存不足。
-
对于一个或多个线程,IO绑定任务可以通过异步和非阻塞方式执行,而且不阻塞当前线程。
-
可以有效的管理多个连接系统之间的通信。
1.3、应用场景
-
大量的交易处理服务,如银行部门。
-
大型在线购物应用程序的通知服务,如亚马逊。
-
股票价格同时变动的股票交易业务。
2、Spring 5 响应式编程实践
作为Java中的首个响应式Web框架,Spring 5.0最大的亮点莫过于提供了完整的端到端响应式编程的支持。
2.1 架构介绍
如上图所示左侧是传统的基于Servlet