Redis-Session

分享ZKEYS公有云管理系统一键部署操作流程

扶醉桌前 提交于 2020-03-06 09:57:52
一、部署准备: 1、准备服务器 系统要求:windows server 或 linux 系统最低配置建议:cpu:2核,内存:4G,带宽:5M,硬盘:系统盘40G,数据盘10G及以上 运行环境:IIS + PHP + MySQL、Apache + PHP + MySQL、Nginx + PHP + MySQL PHP版本:只支持 php-5.6 ,并且Windows环境下的只支持非线程安全(NTS)的PHP版本 MySQL建议版本:MySQL Server 5.5 以上 2、准备域名 需要已通过管局备案的域名,并正确解析到主控ip 3、准备系统源码 4、登录ZKEYS公有云管理系统 ( 官网 ) ,进入产品->下载中心->ZKEYS公有云管理系统(大陆版) 5、准备授权:授权分别有:ZKEYS授权和小鸟云资源池授权 二、一键部署 注意事项: 请使用全新的系统环境进行部署; 为了站点运行的稳定性及后期的可维护性,请使用CentOS 7系列的操作系统; 请确保服务器可以正常访问公网; 服务器配置建议为4核CPU和4G内存; 应用部署在 /data 目录下,如果数据盘挂载不是 /data 目录,建议重新挂载到 /data 目录 磁盘挂载 假设数据盘为 sdb1,具体操作方法如下 取消原有挂载: umount /dev/sdb1 格式化成 xfs 文件格式(若数据盘内有资料可跳过):

shing boot 做session共享 redis

不羁岁月 提交于 2020-03-01 16:40:33
因为多台服务器负载均衡,在获取客户端的sessionId的时候,会出现第一次和第二次不一样,因为负载均衡的缘故,你的服务器最少两台,那么客户端连接第一次请求和第二次请求如果不是同一台服务器的时候那么sessionId就会变,为了解决这个问题,我想到了session共享,如果两台服务器的session都存在redis上,那就不会有问题了 第一步pom文件引入jia包 <!--redis配置开始--> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency> <!--redis配置结束--> 第二部配置文件配置redis spring.redis.database=1 spring.redis

【亿级用户】大型项目服务器弹性扩容方案(含操作步骤)

限于喜欢 提交于 2020-02-29 19:33:18
岁月如梭,一年一度的光棍节又来了。博主和往年一样,干着节假日加班的活。不知道此时此刻是否有一大波xxx丝和博主一样呢?当前闲暇时刻,博主忍不住给各位xxx丝同僚们来一波进补,为了博主的无私奉献,也为了节假日的基情节,请大家别忘了给博主来一波大大的点赞啊! 背景介绍:某个大型项目,平常日访问量(pv)大概在500万左右,web服务器50台。节假日这个大型秒抢活动的时候,经往年的流量峰值和去年到今年的用户增长量来评估,项目组决定增添50台web服务器来抗流量。由于新增的50台服务器是通过vpn+堡垒机+web运维系统的形式访问,项目组没有密码,所以无法做脚本一键扩容等等操作,下面的操作都为手动的。 操作步骤: 一、备份之前已经部署好的web服务器tomcat目录(用于扩容使用) #备份apache-tomcat-7.0.57 nohup tar --exclude /opt/www/apache-tomcat-7.0.57/temp --exclude /opt/www/apache-tomcat-7.0.57/logs --exclude /opt/www/apache-tomcat-7.0.57/webapps/xxxmp/attached --exclude /opt/www/apache-tomcat-7.0.57/webapps/xxxmp/download -

微服务分布式session共享解决方案

狂风中的少年 提交于 2020-02-28 07:56:52
有3种解决的方案: 1.tomcat的session共享 优点:不需要额外开发,只需搭建tomcat集群即可 缺点:tomcat 是全局session复制,集群内每个tomcat的session完全同步保存着全部的session, 在大规模应用的时候,用户过多,集群内tomcat数量过多,session的全局复制会导致集群性能下降, 因此,tomcat的数量不能太多,而且依赖tomcat容器移植性不好(所以不采用) 2.用cookie同步session 这种完全把客户的登陆信息保存在客户端的cookie中,每次请求带着cookie中的Token 优点:由于完全舍弃了session 会减轻服务器端的压力。 缺点:是把信息暴露在外,就算有加密算法还是存在安全问题。禁止使用cookie的情况下无效。 3.redis 集中管理session(常用的方式) 优点:redis为内存数据库,读写效率高,并可在集群环境下做高可用, 项目案例 www.1b23.com 下面就介绍下第三种的实现方式 spring boot 整合 redis session 做的session共享 一、加入依赖 Xml代码 <!-- redis 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

spring-redis-session 自定义 key 和过期时间

二次信任 提交于 2019-12-30 16:58:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 对于分布式应用来说,最开始遇到的问题就是 session 的存储了,解决方案大致有如下几种 使用 spring-session 它可以把 session 存储到你想存储的位置,如 redis,mysql 等 使用 JWTs ,它使用算法来验证 token 的合法性,是否过期,并且 token 无法被伪造,信息也是无法被篡改的 本文内容主要说 spring-session 使用 redis 来存储 session ,实现原理,修改过期时间,自定义 key 等 spring-session 对于内部系统来说还是可以的,使用方便,但如果用户量上来了的话,会使 redis 有很大的 session 存储开销,不太划算。 使用 使用起来比较简单,简单说一下,引包,配置,加注解 。如下面三步,就配置好了使用 redis-session <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId>

redis session共享

不羁的心 提交于 2019-12-05 00:18:00
session + redis 共享session的原因: 先进的企业级或者大型的网站平台,都是分布式结构,分布式的好处是通过nginx分发请求,让多个服务器各自处理请求,来减少单一服务器的压力,并且提高执行效率。 在这个分布式结构下,如果不用共享session的话,就会出现问题。当一个客户端发送一个请求(无session),通过nginx将第一次请求分发给服务器1,服务器判断无session,就让那个客户进行登录操作,并得到响应,此时客户端会存储一个来自服务器1响应的session,并存储在客户端。 当客户端发送第二次请求的时候,此时本次请求已经携带了session(跳过登录),nginx却将请求分发给服务器2,因为服务器2中没有session,所以无法与客户端session进行对应。所以程序会出现异常或是报错,无法正常响应。 解决方法 : session + redis 实现session 共享 session + redis 实现session 共享原理: 为了避免上面session 在服务器直接不共享的问题,就将 session 放入 redis 中。 当客户端第一次发送请求后,nginx将请求分发给服务器1 ,然后将服务器1 产生的session 放入redis中,这样的话 客户端、服务器1 和redis中都会有一个相同的session,当客户端发送第二次请求的时候

spring-session(一)揭秘

拥有回忆 提交于 2019-11-29 13:54:19
前言 在开始spring-session揭秘之前,先做下热脑(活动活动脑子)运动。主要从以下三个方面进行热脑: 为什么要spring-session 比较traditional-session方案和spring-session方案 JSR340规范与spring-session的透明继承 一.为什么要spring-session 在传统单机web应用中,一般使用tomcat/jetty等web容器时,用户的session都是由容器管理。浏览器使用cookie中记录sessionId,容器根据sessionId判断用户是否存在会话session。这里的限制是,session存储在web容器中,被单台服务器容器管理。 但是网站主键演变,分布式应用和集群是趋势(提高性能)。此时用户的请求可能被负载分发至不同的服务器,此时传统的web容器管理用户会话session的方式即行不通。除非集群或者分布式web应用能够共享session,尽管tomcat等支持这样做。但是这样存在以下两点问题: 需要侵入web容器,提高问题的复杂 web容器之间共享session,集群机器之间势必要交互耦合 基于这些,必须提供新的可靠的集群分布式/集群session的解决方案,突破traditional-session单机限制(即web容器session方式,下面简称traditional-session)