windows+nginx+tomcat实现集群负载均衡(生产环境必读)
概念理解(原文链接)
集群:多个tomcat服务器运行同一个web服务就能称之为集群
负载均衡:apache按照一定方式将不同的客户端访问分配到不同的tomcat服务器
简单负载均衡实现:
网上参考了好多文章,都写的不全,拿来直接用时存在这样或那样的问题,花了好长时间摸索细致整理了一下希望能帮助像我这样的新手
集群搭建:
tomcat复制改8080端口为8081,8005为8006,8009为8010
添加项目进行访问:

如上图所示证明集群成功
负载均衡实现:@参考博客1、@参考博客2、@参考博客3、@参考博客4
借助ngnix,下载地址(我用的1.4.7和1.14.0l,两者都能成功其他的没试也不用试):

配置nginx:%nginx%/nginx.conf

测试:输入localhost:81出现欢迎界面

访问上述项目:

如果支持了ipv6下面的ip使用了localhost,

可能会报异常
com.orangefunction.tomcat.redissessions.SessionSerializationMetadata cannot be cast to com.orangefunction.tomcat.redissessions.SessionSerializationMetadata
据说是版本不兼容。最后博主舍弃了redis,因为nginx可以实现同样的效果。具体配置
upstream naire {
#weight(权重) 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。如下所示,10.0.0.88的访问比率要比10.0.0.77的访问比率高一倍。
#设置由 fail_timeout 定义的时间段内max_fails内该主机是否可用。
#max_fails设置在指定时间内连接到主机的失败次数,超过该次数该主机被认为不可用。这里是在30s内尝试2次失败即认为主机不可用!默认情况下这个数值设置为 1。零值的话禁用这个数量的尝试。
#server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;
server 127.0.0.1:8080 weight=1 max_fails=10 fail_timeout=30s;
server 127.0.0.1:8081 weight=1 max_fails=10 fail_timeout=30s;
ip_hash;#每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
}
上面的ip_hash即可
效率对比:
为了验证负载均衡显著提高了访问速度,博主兴冲冲地进行了压力测试
结果如下:
1000个并发81端口





1000个并发8080端口





Known issues
- Although several workers can be started, only one of them actually does any work.
- A worker can handle no more than 1024 simultaneous connections.
- The UDP proxy functionality is not supported.
Possible future enhancements
- Running as a service.
- Using the I/O completion ports as a connection processing method.
- Using multiple worker threads inside a single worker process.
windows+nginx+tomcat实现集群负载均衡(生产环境必读)的更多相关文章
- 图文解说:Nginx+tomcat配置集群负载均衡
图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用 作者:niumd Blog:http://ari.iteye ...
- 转】Nginx+tomcat配置集群负载均衡
原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299 感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...
- Nginx+tomcat配置集群负载均衡
开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...
- Apache+Tomcat +mod_proxy集群负载均衡及session
序言: 在玩Apache+Tomcat +mod_jk集群负载均衡及session的时候发现,还有一种方式可以实现,就是网上各位大牛们说的mod_proxy反向代理. 实在弄的我的知识细胞洋洋.实 ...
- Nginx部署tomcat/wildfly集群负载均衡
1.调度器配置: docker run -p 80:80 --name nginx --restart=always -v /root/nginx/www/:/usr/share/nginx/htm ...
- 【nginx+tomcat集群】Nginx1.12.2+Tomcat7集群+负载均衡+Session共享
今天想着将项目优化一下,就想的实现集群分布,在本机测试:利用nginx+tomcat实现 通过上一篇博客(http://www.cnblogs.com/qlqwjy/p/8535235.html),N ...
- ngnix apache tomcat集群负载均衡配置
http://w.gdu.me/wiki/Java/tomcat_cluster.html 参考: Tomcat与Apache或Nginx的集群负载均衡设置: http://huangrs.blog. ...
- Apache + Tomcat集群 + 负载均衡
Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html http://blog ...
- .net core 跨平台开发 微服务架构 基于Nginx反向代理 服务集群负载均衡
1.概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...
随机推荐
- Lazarus的DBGrid中回车键的处理
Lazarus的DBGrid中回车键默认行为是向下移动一个记录,如果想对这一事件做处理,请不要在onkeypress里处理,而在onkeydown事件里处理.
- CTags配好后仍找不到函数定义的问题
若把CTags的Setting-User配好后,Navigation to Defination一个类或者函数发现仍无法跳转时,可以把需要查找的文件夹拉进sublime任一窗口中再试试. 因为CTag ...
- delphi 实现两个exe文件共享内存映像的代码
创建内存映像的程序 ------------------------------------------------------------------------------------------ ...
- Structs复习 访问web元素
Structs帮我们在action和http里建立了联系 主要有四种方式 我们主要用第二种(IOC 依赖容器注入 ) Jar包 web.XML <?xml version="1.0&q ...
- 关于jsp基本语法:第一章节
今天我学习了关于JSP基本语法的一些知识点. JSP全名是 Java server pages,其根本是一个简化的Servlet设计,实现了在java当中使用HTML标签.JSP是一种动态网页技术,标 ...
- HTTPConnectionPool(host:XX)Max retries exceeded with url
爬虫多次访问同一个网站一段时间后会出现错误 HTTPConnectionPool(host:XX)Max retries exceeded with url '<requests.package ...
- mysql 数据导出
windowos: select * from pj_zzspdz_fpmx order by kprq desc LIMIT 0,1000000 into outfile 'd:\fpmx.xls ...
- rem是如何实现自适应布局的
原文链接:http://caibaojian.com/web-app-rem.html 摘要:rem是相对于根元素<html>,这样就意味着,我们只需要在根元素确定一个px字号,则可以来算 ...
- the type java.io.ObjectInputStream cannot be resolved. It is indirectly......
问题的原因: 配置tomcat7.0的时候自己设置了jre的版本1.8,而没有用myeclipse10自带的jre1.6,导致了出现了差错! 两种解决的办法: 1.点击windows--->pr ...
- Spring 手动 提交事务
1.配置文件 applicationContext.xml: <bean id="txManager"class="org.springframework.jdbc ...