13.1 响应式宣言及架构
对于一个响应式系统,首先要保证的就是可响应性,否则就称不上是响应式系统。响应式宣言包含4组关键词:
Responsive(可响应的):要求系统尽可能做到在任何时候都可以响应
Resilient(可恢复的):要求即使系统出错了,也能响应请求
Elastic(可伸缩的):要求系统在各种负载下都保持可响应性
Message Driver(消息驱动的):要求系统通过异步消息连接各个组件
1.Router Functions(对应传统的基于Servlet的Spring Web MVC框架中的@Controller、@RequestMapping等标准的Spring MVC注解):提供一套函数式风格的API,用于创建Router、Handler和Filter
2.WebFlux(对应传统的基于Servlet的Spring Web MVC框架中的SpringWebMVC):协调上下游各个组件提供响应式编程支持
3.Reactive Streams(对应传统的基于Servlet的Spring Web MVC框架中的Servlet API)
13.2 项目实战
13.2.1 创建项目
使用http://start.spring.io/创建项目,选择Reactive Web起步依赖,生成好项目zip包后,解压导入IDEA中,选择Gradle构建项目
13.2.2 代码分析
1.model层
2.service层
3.handler请求路由处理层:配置请求路由,把请求映射到相应的Handler处理方法