Tomcat安装、配置、优化及负载均衡详解
将一个用户的请求锁定到某一台服务器上,简单,但是缺乏容错性,一旦某个服务器发生故障,Session可能丢失,(但是服务器发生故障是一个低概率事件,如果一个服务器经常挂掉,要么是硬件有问题,要么是应用有问题) 可以使用用户IP哈希实现 解决方案2 Session复制策略,基于网络的广播策略,一个节点Session变化,其他节点同步复制,具有容错性,但节点多或复制量大时对网络负荷大,使网络效率低下,甚至阻塞 ① 在/conf/server.xml文件中开启Session复制的选项,将注释去掉,7.0默认值以配置好,需要接收器绑定内网(一般服务器都有两块网卡)网卡地址,修改端口>。 ② 在应用中指定应用是在分布式部署之下,在web.xml中添加选项 解决方案3 额外创建一个共享的空间用来存放Session,所有服务器共享一个Session memcached缓存共享方案基本原理 粘性Session与非粘性Session方式: 需要一些工具jar包,官网有目录和下载连接,在/conf/context.xml中进行配置,全局有效。 3、集群环境中应用代码应注意的问题 传递Session需要实体类序列化支持,实现可序列化接口,设置版本号。 获取用户IP地址方法的变化,获取真实客户端ip而不是Nginx代理地址。 动静分离结构的预规划。一般高并发的网站上,资源类的文件,如js,css,图片通常是由静态服务器处理,Nginx处理静态文件效率就非常高,而tomcat处理静态文件是它很大的一个弱势,tomcat只负责动态请求的处理。 那么编码的时候就要考虑静态资源最后可能要被拿出去,地址会有变化,所以在开发的时候应该规划访问地址,保持最大灵活性。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |