关于jfinal集群

因为访问的人特别多,时时刻刻都有人缴费,所以有没有集群的方式例子

比如a项目重启,客户访问不了,nginx跳转b项目执行,等a项目启动后,客户再正常访问a项目

主要是两个项目怎么使用redis共享session

评论区

JFinal

2020-11-18 17:14

做集群的关键就是每个节点都不持有共享的数据,例如登录数据

最简单的办法是将共享数据放在一个中心数据库,或者一个中心的 reids中,最后 nginx 做一下多节点的代理配置即可

当你的某个节点无法访问时, nginx 会自动将请求发送到可以访问的节点

JFinal

2020-11-18 17:15

集群在本质上是与任何 web 框都无关的,各有各的解决方案,并发比较高时用一个中心的 redis 解决比较好, jfinal 提供了 reids 插件

nani

2020-11-18 17:22

@JFinal 主要问题就是不知道session怎么存放redis

JFinal

2020-11-18 17:27

看下有关 redis 使用的文档:
https://jfinal.com/doc/8-2

黑猫惊涨

2020-11-19 09:14

我用jfinal做的集群,登陆共享用的波总给我讲的,数据库处理的。

INFECTION_K

2020-11-19 09:22

cookie->local cache->redis->db

prelove

2020-11-19 09:26

@nani 用红薯大哥的session-manager或者直接用jboot试试呢?
https://gitee.com/ld/J2Cache/tree/master/modules/session-manager

蜡笔小新

2020-11-19 09:31

在做两个节点的集群时,针对Session存储的解决方案,不一定需要采用Redis这样的缓存数据库来存储Session,也可以采用Tomcat与Tomcat之间的Session共享解决方法,缓存可以多节点之间采用Ehcache共享配置解决。这样的技术配置方案,应该比较能够应付中小规模的并发的情况。

蜡笔小新

2020-11-19 09:33

@蜡笔小新 这样做的好处是,不需要修改本已完成的业务代码,只需要修改tomcat和ehcache的session和缓存共享配置即可。

zzutligang

2020-11-20 09:32

@nani,和你之前的差别,就是以前登录后把登录信息通过setsessionattr放到本地sesion里。现在你把登录信息放到到redis里。取的时候区redis里取就行了,其他的就和以前一样了。

热门反馈

扫码入社