关键词不能为空

当前您在: 主页 > 英语 >

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共享配置指南的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文