在微服务和容器等技术的帮助下,Web应用可以较为容易的进行水平扩展,来部署更多的应用实例来提升请求处理数QPS。当Web服务有状态的时候,如何在集群下管理用户session成为新的待解决问题。
Spring Framework针对此问题衍生出了一个子项目Spring Session来实现集群下的session管理。该项目提供了以下功能:
从上面的功能列表中,我们可以看到Spring Session能够满足集群下各种session的使用场景和需求。
Spring Session在1.0.0 GA可以使用Redis做为session储存的backend。
通过changelog,在最新的1.1.0 GA中支持自定义Cookie的创建,允许自定义Cookie的过期时间,作用域等。在即将发布的1.2.0 GA版本中,将添加支持JDBC的关系数据库和MongoDB作为session保存的backend。
此外,Spring Session同Spring-boot的应用有很好的集成,只需要十多行代码及配置即可集成!