tomcat-session 共享

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat-session 共享相关的知识,希望对你有一定的参考价值。

参考技术A 0.session的了解

在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话

一. 在集群系统下实现session统一的有如下几种方案:

1、请求精确定位:session sticky,

例如nginx基于访问ip的hash策略,即当前用户的请求都集中定位到一台服务器中,这样单台服务器保存了用户的session登录信息,如果宕机,则等同于单点部署,会丢失,会话不复制

2.session复制共享:session replication

tomcat自带session共享,主要是指集群环境下,多台应用服务器之间同步session,使session保持一致,对外透明。 如果其中一台服务器发生故障,根据负载均衡的原理,调度器会遍历寻找可用节点,分发请求,由于session已同步,故能保证用户的session信息不会丢失,会话复制.

不足之处:

1)必须在同一种中间件之间完成(比如tomcat-tomcat之间),

2)session复制带来的性能损失会快速增加,特别是当session中保存了较大的对象,而且对象变化较快时, 性能下降更加显著,会消耗系统性能。这种特性使得web应用的水平扩展受到了限制。

3)Session内容通过广播同步给成员,会造成网络流量瓶颈,即便是内网瓶颈

4)在大并发下表现并不好

3.基于 memcache/redis缓存的 session 共享

用cacheDB存取session信息,应用服务器接受新请求将session信息保存在cache DB中,当应用服务器发生故障时,调度器会遍历寻找可用节点,分发请求,当应用服务器发现session不在本机内存时,则去cacheDB中查找,如果找到则复制到本机,这样实现session共享和高可用

二.实验环境:

nginx  ----> 后面有两个tomcat(一台服务器两个tomcat)

此处ngixn安装,jdk tomcat安装省略。

0.tomcat的访问地址:

tomcat   192.168.9.174:8080

tomcat2:  192.168.9.174:8081  ---->修改8005,8009,8080的端口

1.编写脚本查看sessionid

A.mkdir /usr/local/tomcat,tomcat2/webapps/demo

vim index.jps

C.重新启动tomcat  :   /usr/local/tomcat/bin/shutdown.sh &&  /usr/local/tomcat/bin/startup.sh

D.查看效果(只有sessionID是不同的,还有来自那台服务器的返回):

2.配置session共享:

A.修改配置文件:  server.xml

在Server.xml中,找到被注释<Cluster/>节点,在下面添加如下内容

B.修改web.xml文件:

添加标签<distributable / >

mkdir /usr/local/tomcat,tomcat2/webapps/demo/WEB-INF

cp /usr/local/tomcat/ROOT/web.xml   /usr/local/tomcat,tomcat2)/webapps/demo/WEB-INF

D.重新启动tomcat:

  /usr/local/tomcat/bin/shutdown.sh &&  /usr/local/tomcat/bin/startup.sh

E.查看端口监听状态:

F:关闭防火墙和selinux

/etc/init.d/iptables stop  && setenforce 0 

3.配置nginx:

A.修改配置文件:

B:修改防火墙端口8002

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8002 -j ACCEPT

/etc/init.d/iptables restart 

C.重新启动nginx:

/usr/local/nginx/sbin/nginx -s reload

4.测试:

注意:

目前此实验只成功于一台服务器多个tomcat并且访问的项目名一致。

共享链商家小程序系统

小程序共享链,共享链软件开发,共享链模式,共享链APP,小程序共享链定制,共享链平台,小程序共享链商城,共享链开发,共享链定制,共享链商家,共享链制作。

共享链商家小程序返利系统:陈洋150/1315/1740电微.

基于区块链技术理念而开发,以消费奖励的方式,让消费者重复消费,主动分享,持续关注。达到提升商家销量的目。

技术分享

 

  ——共享链具体做什么——

  举例,顾客到某水果店购买商品后通过共享链支付成功后进入共享链小程序,该小程序里面会显示消费者的消费金额,奖励金额和已经到账金额,之后其他消费者也到该水果店消费,那共享链系统会做一个时间排序,优先将获取的奖励金给前面的消费者!

  简单的说是我们给商家提供企业版的二维码用于商家交易中微信支付,支付的同时我们给商家提供一系列的服务与营销。

  1.为商家提供专属企业版的二维码用于微信扫码支付;

  2.让商家资源变现,顾客通过支付获取奖励金的形式,可以提供顾客的重复购买率;

  3.通过消费免费的形式吸引大量用户来消费,引导顾客分享,替商家免费做广告等来替商家再次营销。

 

技术分享

 

  ——客户为什么要在平台消费——

  美团的利润来源就是抽佣,我们让商家把抽佣拿出来大家分就可以,比如上美团的商家原价100的产品,团购价90元,美团抽佣6个点,也就是老板实际拿到是84块,那么现在商家上我们平台,老板直接拿出15块钱作为消费者的返还资金,让消费者获得更多的利润,而且后期是会全额返还给消费者的。而且美团只做餐饮和酒店品类的商户市值就突破了千亿,我们是全品类的。

  微信这个小程序的开发,瞬间让更多的人找到了商机,也通过共享链商家让合肥的消费者从此吃喝玩乐再也不用花钱了(图中可以看到消费者付完款以后“即将获取奖励”表面上说微信消费有惊喜,实际上奖励金全返给消费者了)并且技术再上区块链的技术,解决了分布式账本、诚信问题、信息数据安全,(上图)中可以消费者可以看到自己下面的所有消费者的消费记录,难道共享链商家的产品又是新时代的一场风浪!

  商家在微信群里也表示这个共享链产品的确可以让消费者更愿意直接来店里消费,也会让消费者成为商家的忠实客户,更会让店里的营业额翻倍式增长!共享链就是想让商家和消费者双赢啊!相信不久后的几个月,中国的每一座城市都会有共享链商家的加入,我们的目标是走向世界!让全民免费吃喝玩乐模式,同时也表明了中国人的聪明才智与文化的传递!抱着一颗感恩的心去做一件做利国利民的事,才会让中国的经济更加稳固!

  举例来讲:比如一件商品的价格是100元,商家平时拿出20元作为广告营销费用(包含印刷宣传单,请人推广等),消费者是得不到任何好处的,还要为广告费用买单,这样商家花费大量的成本在广告上,为何不让商家用于广告营销等的费用直接让利于消费者?

以上是关于tomcat-session 共享的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat-Session反序列化学习

Tomcat-Session反序列化学习

什么 叫 session 共享

redis实现session共享的一些细节

实现session(session数据)的共享,解决分布式session共享

asp如何在二级域名间共享session