返回顶部
首页 > 资讯 > 数据库 >SpringSession+Redis实现集群会话共享的方法
  • 845
分享到

SpringSession+Redis实现集群会话共享的方法

2024-04-02 19:04:59 845人浏览 独家记忆
摘要

WEB应用开发完成后部署到Tomcat或其他容器中供用户访问. 小型应用在一台服务器上安装Tomcat并部署WEB应用. 随着访问量增大, Tomcat的压力会越来越大, 直至崩溃. 为了保证WEB应用的承

WEB应用开发完成后部署到Tomcat或其他容器中供用户访问. 小型应用在一台服务器上安装Tomcat并部署WEB应用. 随着访问量增大, Tomcat的压力会越来越大, 直至崩溃. 为了保证WEB应用的承载能力, 需要对WEB应用进行集群处理.

技术发展到今天, 集群/负载均衡已经变的相对简单了. 下面用通俗的语言给刚入门的同学介绍下这两个概念:

某KFC开业时只有一个点餐窗口(一台Tocmat服务器, 可以节约成本)对外提供点餐服务. 应对日常点餐没有问题, 当饭口或者周末时一个窗口就会排起长队(高并发). 不仅顾客有怨言(请求响应时间长, 用户体验差), 服务员也会很累, 终于有一天他累倒了(Tomcat挂掉了).

这时在侧面增加了一个窗口(增加一台Tomcat服务器)提供点餐服务, 但是很多顾客不知道新窗口, 依旧在原有窗口排起了长队(用户依旧访问原来的Tomcat), 这时需要有一个人专门站在门口根据每个窗口的排队情况指引顾客去哪个窗口点餐(负载均衡器). 这个人作用是为了让各个窗口的点餐人数大致相等, 避免有的窗口很忙, 有的很闲. 随着顾客增加, 点餐窗口也会相应增加(Tomcat越来越多).

  • 集群: 一群服务器集合在一起提供服务, 上例中多个点餐窗口(多台Tomcat)共同提供点餐服务就是集群.
  • 负载均衡: 让集群中每个点餐窗口(每个Tomcat)的负载情况保持均衡, 不要出现某一个或几个太空闲.

两个概念是同时出现的, 没有集群的服务(单一Tomcat)也不存在负载均衡之说, 集群的服务没有负载均衡会浪费资源.

WEB负载均衡方案很多, Nginx + Tomcat 是常用的方案之一. Nginx作为负载均衡器根据每个Tomcat的负载情况进行分流.

SpringSession+Redis实现集群会话共享的方法

  • 每个Tomcat都相当于点餐窗口, 都可以提供点餐服务
  • 每次要点餐都得先经过Nginx
  • Nginx会根据每个窗口的空闲情况进行分配用户去哪个窗口点餐
  • 第一次在1号窗口点餐, 点完后马上再次点餐, 有可能被分配到2号窗口

下面我们搭建负载均衡的WEB应用

1) 搭建WEB应用

准备WEB应用, 用两个Tomcat部署, 测试时为了能够区分请求是由哪个Tomcat进行处理, 将Tomcat端口号作为结果返回.



@RequestMapping("/port/get")
@ResponseBody
public String getPort(httpservletRequest request) {
 return String.valueOf(request.getLocalPort());
}
您可能感兴趣的文档:

--结束END--

本文标题: SpringSession+Redis实现集群会话共享的方法

本文链接: https://lsjlt.com/news/50737.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringSession+Redis实现集群会话共享的方法
    WEB应用开发完成后部署到Tomcat或其他容器中供用户访问. 小型应用在一台服务器上安装Tomcat并部署WEB应用. 随着访问量增大, Tomcat的压力会越来越大, 直至崩溃. 为了保证WEB应用的承...
    99+
    2024-04-02
  • SpringBoot+SpringSession+Redis怎么实现session共享
    这篇文章主要介绍SpringBoot+SpringSession+Redis怎么实现session共享,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!springboot是什么springboot一种全新的编程规范,其...
    99+
    2023-06-14
  • Nginx实现会话保持,集群模式下session域共享
    前言 生产环境下,多数系统为了应对线上多种复杂情况而进行了集群架构的部署,保证系统的高性能、价格有效性、可伸缩性、高可用性等。通常将生产环境下的域名指向Nginx服务,通过它做HTTP协议的Web负载...
    99+
    2023-09-17
    nginx 服务器 负载均衡 java 后端
  • PHP中使用Redis实现会话共享
    随着Web应用程序的迅速发展,越来越多的Web应用程序与用户产生了交互,因此需要一个会话管理的系统来管理用户状态。为了解决这个问题,Web应用程序使用会话(Session)技术来跟踪用户。会话管理是Web应用程序中非常基本的功能之一,它能保...
    99+
    2023-05-15
    PHP redis 会话共享
  • redis实现session共享的方法
    目录引言案例介绍具体操作引言 大厂很多项目都是部署到多台服务器上,这些服务器在各个地区都存在,当我们访问服务时虽然执行的是同一个服务,但是可能是不同服务器运行的; 在我学习项目时遇到这样一个登录情景,假设有如下三台服务器...
    99+
    2023-04-14
    redis session共享 Redis共享 Session
  • SpringBoot+SpringSession+Redis实现session共享及唯一登录示例
    最近在学习springboot,session这个点一直困扰了我好久,今天把这些天踩的坑分享出来吧,希望能帮助更多的人。 一、pom.xml配置  <depend...
    99+
    2024-04-02
  • springboot 实现不同context-path下的会话共享
    目录实现不同context-path下的会话共享目标描述关于context-path的问题端口设置常用配置ContextPath配置实现不同context-path下的会话共享 目标...
    99+
    2024-04-02
  • redis实现session共享的方法是什么
    这篇文章主要介绍“redis实现session共享的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“redis实现session共享的方法是什么”文章能帮助大家解决问题。引言大厂很多项目都是...
    99+
    2023-07-06
  • redis集群的方法
    这篇文章将为大家详细讲解有关redis集群的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis Sharding集群Redis Sharding是一种客户端Sh...
    99+
    2024-04-02
  • PHP实现Redis数据库集群的方法
    Redis是一种常用的内存数据库,其具有高速读写、丰富的数据结构以及持久化等特点,已经成为了Web应用程序中非常重要的工具之一。随着业务的扩张和数据量的增大,单台Redis服务器已经难以满足业务需求,此时就需要使用Redis数据库集群来保证...
    99+
    2023-05-15
    PHP redis 集群
  • docker实现redis集群搭建的方法步骤
    目录一、创建redis docker基础镜像 二、制作redis节点镜像 三、运行redis集群  引用:摘要:接触docker以来,似乎养成了一种习惯,安装什么应用软件都...
    99+
    2024-04-02
  • redis搭建集群的方法
    这篇文章给大家分享的是有关redis搭建集群的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。redis集群的搭建集群搭建:Redis集群至少需要3个节点第一步:创建一个文件夹...
    99+
    2024-04-02
  • redis集群搭建的方法
    这篇文章主要介绍redis集群搭建的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redis集群搭建在介绍正式内容之前,首先我们来介绍一下redis单机版的搭建步骤是怎样的。下载...
    99+
    2024-04-02
  • Redis集群操作的方法
    本篇内容介绍了“Redis集群操作的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于已有一定基础,这...
    99+
    2024-04-02
  • 搭建Redis集群的方法
    这篇文章主要讲解了“搭建Redis集群的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“搭建Redis集群的方法”吧!Redis集群是一个由多个主从节点群组成的分布式服务集群,它具有复制、...
    99+
    2023-06-27
  • k8s部署redis集群实现的方法是什么
    这篇文章主要介绍“k8s部署redis集群实现的方法是什么”,在日常操作中,相信很多人在k8s部署redis集群实现的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”k8s部署redis集群实现的方法...
    99+
    2023-07-05
  • Redis 哨兵集群的实现
    目录1、Sentinel 哨兵2、Redis 主从分离一、配置Master二、配置Slave  1、在配置文件中配置从服务  2、在服务启动后设置  3、总结3、Sentinel 哨...
    99+
    2024-04-02
  • Redis 分片集群的实现
    目录1 搭建分片集群1.1 集群结构1.2 准备实例和配置1.3 启动1.4 创建集群1.5 测试2 散列插槽3 集群伸缩3.1 创建节点并添加到集群3.2 转移插槽4 故障转移4.1.自动故障转移4.2 手动故障转移5...
    99+
    2023-01-30
    Redis分片集群 Redis分片
  • Redis分片集群的实现
    目录1 搭建分片集群1.1 集群结构1.2 准备实例和配置1.3 启动1.4 创建集群1.5 测试2 散列插槽3 集群伸缩3.1 创建节点并添加到集群3.2 转移插槽4 故障转移4....
    99+
    2023-01-30
    Redis 分片集群 Redis 分片
  • Go实现共享库的方法
    目录共享库创建库使用库总结Don't Repeat Yourself 不要重复自己,这是软件开发的一个基本原则,目的就是减少重复。但是在系统中不同的部分,可能会有不同的业务逻...
    99+
    2023-02-24
    Go 共享库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作