tomcat之负载均衡(apache反响代理tomcat)
……………………
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_connect_module (shared)
前端apache配置内容-->192.168.9.130
ProxyVia On
ProxyRequests Off
ProxyPreserveHost On
<Proxy balancer://lbcluster>
BalancerMember http://192.168.6.128:80 loadfactor=1
BalancerMember http://192.168.6.129:80 loadfactor=1
#设定负载均衡算法(byrequests基于权重,类似haproxy的roundrobin)(bybusiness基于当前负载情况,类似于haproxy的leastconn最少连接)(bytraffic基于后端流量)
ProxySet lbmethod=byrequests
</Proxy>
#如果访问的是http://ip/lbmanager,则不代理,balancer-manager可以保留代理状态信息
<Location /lbmanager>
#强制所有匹配的文件被一个指定的处理器处理
    SetHandler balancer-manager
    Proxypass !
    Order Deny,Allow
    Allow from all
</Location>
#代理集群
#代理(这里代理后的路径最后有个/,一定不能省略)
ProxyPass / balancer://lbcluster/
#作用在于原请求之后追加上redirect的路径
ProxyPassReverse / balancer://lbcluster/
#2.2控制机制,2.4使用Require all granted
<Location * >
  Order allow,deny
  Allow from all
</Location>
<Location / >
  Order allow,deny
  Allow from all
</Location>
connectionTimeout="20000"
redirectPort="8443" />
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" address="224.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="192.168.6.128" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<!-- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> -->
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
<html>
<head><title>TomcatA</title></head>
<body>
<h1><font color="red">TomcatA </font></h1>
<table align="centre" border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("abc","abc"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
<Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService" address="224.0.0.4" port="45564" frequency="500" dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="192.168.6.129" port="4001" autoBind="100" selectorTimeout="5000" maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<!-- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> -->
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
</Cluster>
<html>
<head><title>TomcatB</title></head>
<body>
<h1><font color="blue">TomcatB </font></h1>
<table align="centre" border="1">
<tr>
<td>Session ID</td>
<% session.setAttribute("abc","abc"); %>
<td><%= session.getId() %></td>
</tr>
<tr>
<td>Created on</td>
<td><%= session.getCreationTime() %></td>
</tr>
</table>
</body>
</html>
说实话,我做到最后会话不知为什么不能保持,日志中已经互相检测到,但是会话疑似没有复制,这个(暂留)
Deployer className选项可能会造成以下错误
如果配置完毕后,发现不能启动tomcat,则需要将组播地址添加到路由里,并添加到/etc/crontabJkWorkersFile /etc/httpd/extra/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug
#访问根下的任意文件,都转到集群1上
JkMount /* lbcluster1
#访问根下的jkstatus,都转到stat1上
JkMount /jkstatus/ stat1
#实例类型
worker.TomcatA.type = ajp13
#实例内定义的虚拟主机的访问ip
worker.TomcatA.host = ...
#实例与连接器之间的端口
worker.TomcatA.port =
#实例权重
worker.TomcatA.lbfactor =
worker.TomcatB.type = ajp13
worker.TomcatB.host = ...
worker.TomcatB.port =
worker.TomcatB.lbfactor =
#集群类型
worker.lbcluster1.type = lb
#会话绑定
worker.lbcluster1.sticky_session =
#调度方法
worker.lbcluster1.method = R
#集群里含有的实例
worker.lbcluster1.balance_workers = TomcatA, TomcatB
worker.stat1.type = status
tomcat之负载均衡(apache反响代理tomcat)的更多相关文章
- Nginx系列之负载均衡和反响代理
		
NGINX介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行 其特点是占有内存少,并发能力强,事实上nginx ...
 - nginx的负载均衡和反响代理配置
		
4. 负载均衡配置 nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 另外 ...
 - TomCat之负载均衡
		
TomCat之负载均衡 本文讲述了tomcat当nginx负载均衡服务器配置步骤 以下是Tomcat负载均衡配置信息 1.修改nginx的nginx.conf文件 添加如下属性:localhost是名 ...
 - 基于Apache和tomcat实现负载均衡
		
1.基于Apache和tomcat实现负载均衡 准备三个虚拟机一个安装Apache两个安装Tomcat 关闭防火墙 systemctl stop firewalld Iptabled -F Seten ...
 - apache+tomcat配置负载均衡,实现http与websocket接口分压
		
一.应用场景 在生产环境中,应用服务器(此文以tomcat为例)不免面临高访问量的压力,相比而言web服务器(此文以apache为例)能够承担更大的并发量.Apache本身带有一些模块,可以完成对应用 ...
 - 基于Apache+Tomcat实现负载均衡
		
1.基于Apache和tomcat实现负载均衡 准备三个虚拟机一个安装Apache两个安装Tomcat 关闭防火墙 systemctl stop firewalld Iptabled -F Seten ...
 - Apache+Tomcat部署负载均衡(或集群)
		
本来只打算写Tomcat集群部署,简化Apache和Tomcat整合过程的.后来想了想,这样不便于没有用过Apache的朋友来学习本文内容.于是干脆加大篇幅,让对Apache不了解的朋友能对Apach ...
 - apache tomcat搭建负载均衡(实现集群中的session同步)
		
原理:tomcat 做个WEB服务器有它的局限性,处理能力低,效率低.承受并发小(1000左右).但目前有不少网站或者页面是JSP的.并采用了tomcat做为WEB,因此只能在此基础上调优. 目前采取 ...
 - Nginx 服务器 之Nginx与tomcat实现负载均衡
		
本文讲解我们如何使用Nginx做反向带服务器,实现nginx与tomcat服务器集群做负载均衡. 一.nginx与tomcat实现负载均衡 1.在/usr/local/ngnix/conf 创建 ...
 
随机推荐
- HTML动画(难点)
			
animation-delay这个属性是规定动画开始前等待几秒才开始.本来是很好理解的,但是当时就有个疑问:假如我的动画是连续执行好多次的情况下的话,是第一次执行前才会延迟还是每次执行前都会延迟呢?答 ...
 - Android平台之不预览获取照相机预览数据帧及精确时间截
			
在android平台上要获取预览数据帧是一件极其容易的事儿,但要获取每帧数据对应的时间截并不那么容易,网络上关于这方面的资料也比较少.之所以要获取时间截,是因为某些情况下需要加入精确时间轴才能解决问题 ...
 - 解决Windows 7/win8 使用VMware虚拟机的NAT 不能上网
			
最近在学习linux系统,在使用debian6更新源的时候,发现Nat模式上网就是配置不了.而内外网可以ping通.所以很苦恼.最后终于解决了. 以下操作在VMware10下进行 1.首先要设置一下 ...
 - [TYVJ] P1003 越野跑
			
越野跑 背景 Background 成成第一次模拟赛 第二道 描述 Description 为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练.贝茜希望能在每次训练中跑 ...
 - 感知机(perceptron)
			
二类分类的线性分类模型,属于判别模型,利用梯度下降法对损失函数进行极小化求得感知机模型分为原始形式和对偶形式,是神经网络和支持向量机的基础 由输入控件到输出控件的如下函数: f(x)=sign(W.X ...
 - UML--核心元素之用例
			
Use case 一个系统就是由各种各样的愿望组成的. 一个用例就是与参与者actor交互的,并且给参与者提供可观测的有意义的结果的一系列活动的集合. 例如你想做一顿饭吃,你需要完成煮饭和炒菜两件事情 ...
 - MCM1988 问题B_lingo_装货问题
			
两辆平板车的装货问题有七种规格的包装箱要装到两辆铁路平板车上去包装箱的宽和高是一样的但厚度(t,以厘米计)及重量(,以公斤计)是不同的.下表给出了每种包装箱的厚度重量以及数量每辆平板车有10.2 米长 ...
 - HTTP缓存 1.0 vs 1.1
			
在“使用ETag跟踪用户”中有一点被忽略了,因为要用这张小图统计统计uv, 所以要求浏览器必须每次都要发送这个图片的请求.这需要服务器对图片的缓存策略做设置. http/1.0 和 http/1.1 ...
 - 程序员求职之道(《程序员面试笔试宝典》)之看着别人手拿大把的offer,不淡定了怎么办?
			
不管是在哪里,不管发生什么事,不要随便放下自己. --<当男人恋爱时> 很多求职者都会面临一个问题:别人手拿大把大把的offer了,而自己却是两手空空,别人签约之后已经过着"猪狗 ...
 - iOS程序员对算法的要求
			
算法和数据结构(鉴于二者的关联,以下统称算法),对于程序员的重要性一直是个具有争议性的话题.有一些程序员内心对算法有着天然的排斥,面试当中一旦考察算法知识,会被不少程序员吐槽,但有部分公司又一直在坚持 ...