Rainbond:生产级无服务器PaaS
Rainbond是国内首个开源的生产级无服务器PaaS,深度整合基于Kubernetes的容器管理、多类型CI/CD应用构建与交付、多数据中心的资源管理等技术,提供云原生应用全生命周期解决方案,构建应用与基础设施、应用之间及基础设施之间的互联互通生态体系。
点击安装

为了使您的应用承受更多的并发,提高应用稳定性,您需要在适当情况下进行扩容。每个节点下的Tomcat只存储来访问自己的请求时产生的session,为了解决扩容后session持久化的问题,我们提供 Java的War包项目使用Tomcat配置Redis实现Session共享 解决方案,将您session储存在redis中来保证您应用程序稳定性。如图所示:

Load Balancing 将请求发送给 container 1 下的 tomcat A ,同时产生 session ,将此 session 持久化到Redis 中。当 Web Server 再次发送请求,若请求到 container 2tomcat A ,此时会在Redis 中找到已存在的 session,即取即用。

通过源码构建,您可以通过如下两种方式实现 配置redis实现session共享:

使用Webapp-Runner或Jetty-Runner

云帮使用 [webapp-Runner]() 内嵌的 tomcat 或 [jetty-Runner]() 内嵌的 jetty 实现服务器功能。在您不创建其他服务器情况下即可轻松将应用部署在云帮。通过以下步骤可实现 配置redis实现session共享

  1. 配置Procfile:将如下命令添加到您的Procfile中,并源码根目录下添加Procfile。
web: java -jar ./webapp-runner.jar --port 5000 --session-store redis ./*.war
  • 应用端口8080,平台默认开启应用5000端口,为了端口映射正常:

    • 在Procfile中指定端口--port 5000
    • 在应用控制台-端口设置8080端口
  • 指定session存储--session-store redis
  1. 配置webserver:在源码根目录下添加webserver文件,写入现平台支持webapp-runner版本:
webapp-runner-7.0.57.2.jar
webapp-runner-8.0.18.0-M1.jar
webapp-runner-8.5.5.2.jar
  1. 云帮通过源码创建应用,在创建应用-应用设置选择已创建的Redis进行依赖关联。
  2. 应用配置redis:将REDIS_URL新增至应用环境变量中,值为 127.0.0.1:6379
  3. 重启应用以适配

为方便创建应用时依赖,建议提前通过应用市场创建 Redis 应用;若您未在创建时依赖Redis应用,也可以在应用创建完成后在 应用控制台-依赖进行Redis应用关联。关联后记得重启应用哦。

使用docker镜像

云帮提供使用定制 tomcat 容器来启动应用的方法。通过以下步骤可实现 配置redis实现session共享

  1. 创建Dockerfile,写入如下内容:

    • 使用源码
dockerfile
FROM goodrainapps/tomcat:7.0.82-jre7-alpine
RUN rm /usr/local/tomcat/webapps/ROOT
COPY <dir_name> /usr/local/tomcat/webapps/ROOT            #<dir_name>为源码目录名称
EXPOSE 8080
  • 使用war包
FROM goodrainapps/tomcat:7.0.82-jre7-alpine
RUN rm /usr/local/tomcat/webapps/ROOT
COPY <filename>.war /usr/local/tomcat/webapps/ROOT.war
EXPOSE 8080
  1. 确认源码的<dir_name><filename>.war存在,并且与Dockerfile文件存在同一目录,以此目录为根目录开始创建应用。
  2. 在创建应用-应用设置选择已创建的Redis进行依赖关联。
  3. 应用配置redis:配置变量REDIS_URL到应用环境变量中,值为 127.0.0.1:6379;配置变量REDIS_SESSION到应用环境变量中,值为true
  4. 重启应用以适配

Rainbond最佳实践:Tomcat配置Redis实现Session共享相关推荐

  1. Nginx+memcached+tomcat配置集群session共享负载均衡

    Nginx+memcached+tomcat配置集群session共享负载均衡 配置环境: windows xp下 jdk1.7.0_10      nginx-1.2.6  (附下载)      m ...

  2. Tomcat通过Redis实现session共享的完整部署记录

    对于生产环境有了一定规模的tomcat集群业务来说,要实现session会话共享,比较稳妥的方式就是使用数据库持久化session.为什么要持久化session(共享session)呢?因为在客户端每 ...

  3. tomcat+redis实现session共享

    注意:在实际应用中,发现该方案会不定期导致Tomcat假死(怀疑Redis连接未释放),慎用. 服务器192.168.14.132和192.168.14.133, 均已经安装tomcat,tomcat ...

  4. Tomcat集群通过redis实现session共享

    Tomcat集群通过redis实现session共享 最近在XXX项目上做了tomcat集群的session共享,闲来无事鄙人将整个踩坑的过程粗糙的记录下来,给同学们分享一波,整个过程无硬编码,爽歪歪 ...

  5. Nginx+tomcat集群的session共享问题

    请求负载过程中会话信息不能丢失.那么需要在多个tomcat中session需要共享.所以需要进行相关问题的解决 配置Tomcat的session共享可以有三种解决方案: 第一种:是以负载均衡服务器本身 ...

  6. 单点登录实现(spring session+redis完成session共享)

    一.前言 项目中用到的SSO,使用开源框架cas做的.简单的了解了一下cas,并学习了一下 单点登录的原理,有兴趣的同学也可以学习一下,写个demo玩一玩. 二.工程结构 我模拟了 sso的客户端和s ...

  7. php 获取cookieid,Redis实现Session共享详解

    Redis实现Session共享 这几天在做session共享这么一个小模块,也查了好多资料,给我的感觉,就是太乱了,一直找不到我想要的东西,几乎全部实现方法都与我的想法不一样,在这里,我总结一下自己 ...

  8. C#session共享+redis_技术干货分享:基于SpringBoot+Redis的Session共享与单点登录

    categories: 架构 author: mrzhou tags: SpringBoot redis session 单点登录 基于SpringBoot+Redis的Session共享与单点登录 ...

  9. 使用Shiro+Redis实现Session共享

    章节目录 1. 为什么要实现Session共享? 1.1 负载均衡 1.2 负载均衡中的Session问题 1.3 案例演示 2. Shiro架构 3. Shiro集成Redis 1. 为什么要实现S ...

最新文章

  1. thinkphp pathinfo nginx 无法加载模块:Index
  2. c语言int64编译时错误,错误:编译C程序时未在此作用域中声明uint64_t
  3. 10多所高校发布通知: 今年研究生复试或有变!
  4. 如何二值图转化为灰度图_木工真空吸附雕刻机如何用精雕5.21把精雕图模型转为灰度图...
  5. html页面怎样禁止复制粘贴,javascript中如何禁止复制粘贴?
  6. 网线制作(一根网线劈开给2台同时上网使用)
  7. 支持64位系统的XOR加密后内存加载PE绕过杀毒软件
  8. python把英语句子成分字母_句子成分的表达字母
  9. 1个平方大概多少立杆_1斤草坪种子播撒多少平方/四季青
  10. Python ln_虚拟机中单机Spark (Python版)安装
  11. 小学生计算机课件,小学三年级计算机教学课件
  12. 他是马化腾的偶像,拒绝马云的应聘 !如今劝年轻人不要太拼、要认命......
  13. 跳楼机[DP+spfa]
  14. DxO FilmPack破解版|DxO FilmPack Elite 5.5.23破解版下载(附破解补丁)
  15. WWDC2019:离开手机,苹果靠什么“挽尊”
  16. 百度首次元宇宙里开大会,李彦宏:智能交通将使5年内一线城市不再限购限行...
  17. php必须安装什么才能运行,运行php需要什么?
  18. 第28届深圳国际礼品展圆满闭幕,五洲御瓷再续“新里程”
  19. 金蝶K3开发-改造单据录入之快速录单
  20. [智能家居] 手把手教你自制HomeAssistant人体感应器

热门文章

  1. KVM中I/O虚拟化介绍(五)
  2. python webshell_python脚本实现查找webshell的方法
  3. 号外号外!RancherOS v1.2.0发布啦!
  4. 解决YUM下Loaded plugins: fastestmirror Determining fastest mirrors 的问题
  5. 2017吉首大学新生赛
  6. LRUCache 具体解释
  7. hdu2204 Eddy's爱好 打表+容斥原理
  8. Hibernate各种主键生成策略与配置详解 - 真的很详细啊!!
  9. Acdream Path 动态规划
  10. Caffe + windows + python3.5安装