高并发(5000)+tomcat+nginx+seesion共享
背景:
公司最近紧急开发一款应急程序,前期由于使用人数不是很多,最大并发人数一个tomcat即可应付,后来由于公司本部,分公司,子公司等加入使用,使用人数急剧增大,高峰时段经常报502,tomcat IOE异常,当时我们就意识到请求过多,服务器无法及时应答,需要负载。
方案:
1.首先想到的方案便是 Nginx+memcached+tomcat,因为我们不想修改代码,需求紧急,先考虑最快实现方式。memcached用于解决session共享问题。前期搭建过程曲折,tomcat版本,memcached的版本,MSMjar包版本,等等,各种版本问题,启动tomcat 各种报错,网上一查基本是版本冲突。后来搭建成功发现本地测试没问题,压测一下2000并发立马seesion 失效,网上关于memcached 解决方案太少,放弃了。毕竟对memcached不熟。需要的jar包,我这可以提供一下,方便后续研究。
链接 Nginx+memcached+tomcat7 所需要的jar
2.后来,我的思路转向redis,之前项目有用过,也比较熟。
具体方案是:Nginx+redis+tomcat7 ;
两台服务器,8核,16G—