在集群环境下,常见的基于Session的身份认证就会有一个问题,因为Session是跟着服务器走的,当用户在服务器1登陆成功后,当用户在访问服务器2的时候会因为服务器2没有用户的身份信息而再次跳转到认证页面。解决的方案很简单,不在服务器上单独的管理Session,而是把原本放在服务器上的Session抽离出来放在一个独立的存储中。

  ⒈使用spirng-session解决Session集群问题

    我们只需要告诉spirng-session存放Session的独立存储是什么,以及独立存储的连接信息即可。spirng-session支持以下类型  

 package org.springframework.boot.autoconfigure.session;

 public enum StoreType {
REDIS,
MONGODB,
JDBC,
HAZELCAST,
NONE; private StoreType() {
}
}

    我使用Redis作为示例。一般的生产环境也是Redis,因为1.Redis天生支持过期机制。2.Session的读取是非常频繁的,Redis的实力你我都知道的。

         <dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
<version>1.3.4.RELEASE</version>
</dependency>
 spring.session.store-type=redis
spring.session.redis.host=127.0.0.1
spring.session.redis.port=6379

    

  

  

Springboot Session集群处理的更多相关文章

  1. Tomcat session集群

    author:JevonWei 版权声明:原创作品 环境 tomcatA 172.16.253.108 tomcatB 172.16.253.105 代理服务器 172.16.253.191 Tomc ...

  2. springboot websocket集群(stomp协议)连接时候传递参数

    最近在公司项目中接到个需求.就是后台跟前端浏览器要保持长连接,后台主动往前台推数据. 网上查了下,websocket stomp协议处理这个很简单.尤其是跟springboot 集成. 但是由于开始是 ...

  3. 使用redis进行基于shiro的session集群共享

    之前写过一篇nginx多tomcat负载均衡,主要记录了使用nginx对多个tomcat 进行负载均衡,其实进行负载均衡之前还有一个问题没有解决,那就是集群间的session共享,不然用户在登录网站之 ...

  4. Springboot quartz集群(3) — 多节点发送邮件

    本期将提供quartz集群能力 集群案例分析: 上一期的邮件发送功能,若在服务需要部署多节点,但定时任务不支持集群,因此,多节点定时任务势必会同时运行, 若向用户发送邮件通知,这种情况下会向用户发送两 ...

  5. springBoot+websocket集群系列知识

    WebSocket简介和spring boot集成简单消息代理 Spring Boot 集成 websocket,使用RabbitMQ做为消息代理 Spring Websocket实现向指定的用户发送 ...

  6. (十九)SpringBoot之使用Spring Session集群-redis

    一.引入maven依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEnc ...

  7. spring-boot Web集群

    SpringBoot启动类增加注解 @EnableRedisHttpSession @SpringBootApplication @ImportResource({"classpath:co ...

  8. SpringBoot2 使用Spring Session集群

    有几种办法: 1.扩展指定server利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略.缺点:耦合Tomcat/Jetty等Serv ...

  9. tomcat 之 session 集群

    官网地址 https://tomcat.apache.org/tomcat-8.5-doc/cluster-howto.html #:配置各tomcat节点 [root@node1 ~]# vim / ...

随机推荐

  1. day08-(xml&&tomcat)

    回顾: jdbc: java语言操作数据库 jdbc是一套规范,oracle公司制定的 驱动:jdbc的实现类,由数据库厂商提供 使用步骤: .导入jar包(驱动) .注册驱动 Class.forNa ...

  2. go 定时器

    go 定时器 package main import ( "fmt" "time" ) func main() { t := time.NewTicker(ti ...

  3. 剑指Offer_编程题_8

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. class Solution { public: int jumpFloor(int number ...

  4. 5、JPA-映射-单向多对一

    多个订单对应一个用户 实体类 Customer package com.jpa.yingshe; import javax.persistence.*; @Table(name = "JPA ...

  5. vue报错:/node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?

    vue项目中报这样的错误:./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js? 大部分是因为文件的路径有 ...

  6. Spark源码剖析 - SparkContext的初始化(四)_Hadoop相关配置及Executor环境变量

    4. Hadoop相关配置及Executor环境变量的设置 4.1 Hadoop相关配置信息 默认情况下,Spark使用HDFS作为分布式文件系统,所以需要获取Hadoop相关配置信息的代码如下: 获 ...

  7. Python操作MySQL-day11

    写在前面 上课第11天,打卡: 包子有肉,不在褶上: 前言 存储和数据库是整个网站架构的瓶颈 关系型数据库(MySQL | Oracle) 类似于excel表格 用结构化查询语言SQL进行存取的 非关 ...

  8. 使用二分查找判断某个数在某个区间中--如何判断某个IP地址所属的地区

    一,问题描述 给定100万个区间对,假设这些区间对是互不重叠的,如何判断某个数属于哪个区间? 首先需要对区间的特性进行分析:区间是不是有序的?有序是指:后一个区间的起始位置要大于前一个区间的终点位置. ...

  9. struts2简单入门-参数传递的三种方式

    三种方式的简单说明 属性传递 把参数定义为属性提供get/set方法. 使用情况 参数少,不需要共享. 演示代码 public class LoginAction extends ActionSupp ...

  10. 【CentOS】MySQL的安装

    版本信息:CentOS 7.2 64位 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red ...