关键词不能为空

当前您在: 主页 > 英语 >

Memcached Session Manager实现Session共享配置指南

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 13:56
tags:

-

2021年2月28日发(作者:优缺点英文)


Memcached Session Manager


实现


Session


共享配置指南




Session


复制


/


共享。


在访问系统的会话过程中,用户登录系统后, 不管访问系统的任何资


源地址都不需要重复登录,


这里面


Web


容易保存了该用户的会话


(sessi on)



如果两个


tomcat(A< /p>



B)


提供集群服务时候,用户在


A-tomcat


上登录,接下来的请求


we b


服务器根据策略分发到


B-tomcat

,因为


B-tomcat


没有保存用户的会话


(session)


信息,不知道其登录,会跳转到登录界

< br>面。这时候我们需要让


B-tomcat


也保存有


A-tomcat


的会话,我们可以使用


to mcat



session


复制实现或 者通过其他手段让


session


共享。



1



Apache(Nginx) +Tomcat


实现集群和负载均衡



Apache/Nginx + Tomcat(


或其他


APP Server)


可以实现集群和负载均衡,如下图所示:





1.1



Apache


配置




Apache2.2.x


为例。


首先安装


Apache HTTP Server



然后修改其配置文件




首先


load


三个


modules


,采用


Proxy


代理方式,配置代码如下:



LoadModule proxy_module modules/mod_


LoadModule proxy_ajp_module modules/mod_proxy_


LoadModule proxy_balancer_module modules/mod_proxy_



然后在此配置文件末端加入以下代码:



ProxyPass / balancer://tomcatcluster/


ProxyPassReverse / balancer://tomcatcluster/




BalancerMember ajp://localhost:


8009


route=Tom8A


BalancerMember ajp://localhost:9009 route=Tom8B



以上


Localh ost


和端口可以替换成具体


Tomcat

所在服务器的


ip


地址和端口。以上是两台


Tomcat



如果有多台,


则在


BalancerMember ajp://IP:Port route=RouteName


格式继续添加,


route


name


必须不一样。分发测试是


Ap ache


默认的轮询策略。



Apache


粘性


Session< /p>


配置:



ProxyPass


/


balancer://



tomcatcluster



/


lbmethod=byrequests


stickysession=JSESSIONID


nofailover=Off timeout=5 maxattempts=3




1.2



Nginx


配置



Nginx1.4


为例,安装完成后,对


nginx/conf/


做更改,在


http


节点添加以下配置:



http {











#gzip



on;


#


配置负载的


tomcat


服务器,还可以根据服务器压力配置权重,


(注意


tomcat


访问端口)



upstream {


server 127.0.0.1:8088;



#ip

< br>地址和端口都可更改,但需要


Tomcat


保持一致



server 127.0.0.1:8080;


}







server {










listen 9999; #nginx


监听端口











server_name #nginx


服务所在主机











charset utf-8;










#access_log



logs/



main;










location / {














root




html;















index
















proxy_pass



#


代理


tomcat


服务器集群地址















proxy_set_header X-Real-IP



$$remote_addr;














client_max_body_size



100m;










}










#error_page



404




/;





}



}




。< /p>









< p>







其实,


Nginx+Re dis


也可实现


session


共享和 负载的基本配置,方案很多。



1.3



Tomcat


配置


< br>根据以上配置的


Proxy


的相关参数,



模块定义了均衡负载的配置,


其中两个


Tomcat


Server


都配置在 同一台服务器上,端口分别为


8009



9009


,并配置各自的


route


,这样


Apache


Server


就 能根据


route


将请求转发给特定的


Tomcat


。接下来修改


Tomcat




文件:





8009




其中的


port 8009


为前面



中设定的端口,还要配置其


route


,代码如下:










Tom8A




jvmRoute


也须同前面的设置一样。



2



Memcached(Redis) Session Manager


实现


Session


共享



Memcached


Session


Manager



msm


)插件利用



Value



Tomcat


阀)对


Request


进行跟踪。


Request


请求到来时,从


memcached


加载


session



Request


请求结束时,将


tomcat


session



新至


memcached



以达到


ses sion


共享之目的,


支持


stick y



non-sticky


模式。


这种方式应该是


最优的方案,将共享的


Se ssion


存储在


Memcached



Redis


数据库里,这两种数据库的性能都


非常高,可存储容量也足够大,还能支持集群部署。



在前面


Apache(Nginx)+Tomcat


实现集群和 负载均衡的基础上


,通过


memcached


session


manager


(< /p>


msm


)插件,及


tomcat


上一定的配置,即可实现把


session


统一 存储到


memcached


服务器上,而不用在各个

< p>
Tomcat


节点上进行


Session


复制。



Msm


插件支 持


Tomcat6



Tomcat7< /p>



Tomcat8


,并且


Memcached



Redis

可以支持分布式


内存,


msm


同时 支持黏性


session



stick y


sessions


)或者非黏性


s ession



non-sticky


sessions



两种模式。


se ssion


存储到


memchached


实现方案,


主要功能是修改


tomcat


session


存储机制,


使之 能够把


session


序列化存放到


m emcached


中;


所以在


memc ached


内存中共享的对象需要


能够序列化。



memcached-session-manager

是开源项目,除支持


memcached


外,还支持


redis


;项目地址


/magro/memcached-session- manager




将源代码编译成< /p>


jar


文件,当然还


需要其他一些依赖< /p>


jar


文件,以其最新版本和


Tomca t8


为例,详细


Jar


列表如下:




上面


jar< /p>


文件前面的


msm


前缀是更改文件名加上 去的,不是


jar


包原名。


< p>
文件


是编译


memcached- session-manager


源代码得到的,其他


jar< /p>


需要额外搜索得到。这里需要特


别注意的是




tc8


对应的是

< br>Tomcat8.x


版本,如果是


Tomcat7.x< /p>



那么应该选择




文件,


相应的


Tomcat6.x< /p>


则应该是



文件。



Msm






4



ser ializer








kryo- serializer



flexjson- serializer




javolution- serializer




xstream-serializer


,但是采用

< p>
kryo


方式效率是最快的。不同方式其配置参


数 会有差别。




是连接

< br>memcached


的驱动文件,如果是


redis


,则应该添加



文件。


将这些文件收集全


(附件已经有,


俺熬夜花费一个晚上才收集 全)


后,


copy


放到


tomcat lib


目录下即可,然后对


Tomca t



Context


开始进行配置。< /p>



有两种配置方式,一是对


conf/< /p>


文件做配置,在



中间加入:
















memcachedNodes=










sticky=










failoverNodes=










lockingMode=










requestUriIgnorePattern=










sessionBackupAsync=










sessionBackupTimeout=










tra nscoderFactoryClass=


这种方式会对


to mcat


部署的所有


war


应用做


session


复制处理,所以要慎重,或者将

webapp


里不用的


war


应用 删除。


或者采用第二种配置方式,



c onf/


做修改,




之后、



之前的具体


war


应用里配置


Session


复制处理,如下所示:



-


-


-


-


-


-


-


-



本文更新与2021-02-28 13:56,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/681599.html

Memcached Session Manager实现Session共享配置指南的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文