Spring Security 介绍中的 servlet 和 reactive

最近在看看 Spring Security 中的内容。看到了下面一段话,还挺拗口的。

Spring Security 提供了一个 验证(authentication), 授权(authorization),和保护常见攻击 的框架。

Spring security 是一个强大的,并且可以高度定制的身份验证和访问控制框架,能够同时支持 imperative 和 reactive应用, Spring security 已经成为保护 Spring 应用实事上的标准。

有关完整的特性列表,请参考本参考指南中有关特性(Features) 部分的内容。

如果你已经开始准备对你的应用程序进行安全限制,请参考针对servle和 reactive 部分的内容。

解释

这里,提到了 2 个概念 servlet 和 reactive。Spring WebFlux 是 Spring Framework 5.0 中引入的新的响应式web框架。 与Spring MVC不同,它不需要Servlet API,是完全异步且非阻塞的,并且通过 Reactor 项目实现了 Reactive Streams 规范。

可以理解,servlet 和 reactive 是 2 个不同的处理方式,通常 MVC 模式是使用 servlet 的。reactive 是响应式,也可以说是反应式,主要特点就是异步处理,是基于 Spring WebFlux 框架的。

download

我们常用的 Spring 编程大部分人都应该使用的是 MVC 模式吧。

简单点来说就是 Spring 或者应用服务器会针对你的每一次访问创建一个线程,这个线程是阻塞的。

 

 

考虑一个应用场景就是上传一个 N 大文件的的情况,这个是不是因为线程的阻塞导致了系统资源的浪费,那我们想,能不能针对高 IO 的情况,我们使用异步线程或者其他方式。

Spring 提供了一个异步的方式,但是针对高 IO 的情况可能更多使用的是 WebFlux。

Spring Security 为这 2 种相应访问请求的方式来配置安全性。

这就是在 Spring Security 文档中说的 reactive 。

其实早在去年,就有过这么一次面试: 北美亚特兰大一金融服务公司面试总结 ,但因为这响应式 Web 框架实在是应用场景不多,通常不是 Spring 框架实际使用的重点。

 

https://www.ossez.com/t/spring-security-servlet-reactive/14116

posted @   huyuchengus  阅读(288)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2020-09-29 LDAP 介绍
2020-09-29 LDAP 中 DN CN DC OU
点击右上角即可分享
微信分享提示