不应该是家,窝更适合一点

linux下 快速搭建appach +tomcat集群

上一篇 / 下一篇  2011-03-10 18:50:34 / 个人分类:liunx系统学习

    测试环境快速搭建集群,主要操作步骤:
    搭建的集群是apache+tomcat(tomcat1、tomcat2)
1、安装apache 、 tomcat 过程略

2、tomcat配置
 修改tomcat1--server.xml>
    找到  <Engine name="Catalina" defaultHost="localhost" >修改为:
     
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
 
 同理,修改 修改tomcat2--server.xml>

    找到  <Engine name="Catalina" defaultHost="localhost" >修改为:
     
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

  1)此处注意tomcat端口冲突问题:
  2)jvmRoute="××××" 参数配置:这是实现负载均衡的关键一步,通过修改Route属性,使得apache把tomcat关联起来

3、apache配置
  在conf/extra/httpd-vhosts.conf中增加虚拟机,示例代码如下:
<VirtualHost *:80>
      ServerAdmin admin@bit.com
     ProxyRequests Off

     Proxypass /server-status !
     Proxypass /balancer-manager !
     Proxypass / balancer://proxy/ stickysession=JSESSIONID
     <Proxy balancer://proxy>
         Order Deny,Allow
         Allow from all
         BalancerMember http://10.10.90.98:8085  loadfactor=1 disablereuse=On route=tomcatc1
         BalancerMember http://10.10.90.98:8086  loadfactor=3 disablereuse=On route=tomcat2
     </Proxy>
</VirtualHost>
  其中, loadfactor参数设置负载比例:



4、后台监控 
我们如何知道某个节点负载多少,响应时间多久,服务是否正常呢?Apache提供了负载均衡监控平台:http://localhost/balancer-manager 。但是,这个服务默认是不存在。我们需要配置:
  1. <Location /balancer-manager>  
  2.         SetHandler balancer-manager  
  3.         Order Deny,Allow  
  4.         #Deny from all  
  5.         Allow from localhost ip6-localhost  
  6. </Location>  

5、session绑定
配置参数:
 stickySession=JSESSIONID

说明:
    每次请求都按照负载均衡配置的节点次序依次请求到不同的Tomcat上。尤其是当我们通过jvmRoute 和route 做了绑定之后,信息更加准确。但是,仔细观察,每次请求的SessionID都是不一样! 对于纯Web应用,尤其是依靠SessionID区分唯一用户的应用,这将是一场噩梦——解决了服务器压力均衡问题,却带来了SessionID不唯一问题!这就需要SessionID绑定,或者说叫做“会话复制”。 
    
stickySession 粘性会话,根据这一属性,浏览器将通过cookie绑定SeesionID。如果这个时候再次访问http://localhost/zlex ,你会发现,页面不会来回跳转了! 

sticky是什么?

引用
sticky模式 
利用负载均衡器的sticky模式的方式把所有同一session的请求都发送到相同的Tomcat节点。这样不同用户的请求就被平均分配到集群 中各个tomcat节点上,实现负载均衡的能力。这样做的缺点是没有灾难恢复的能力。一旦一个节点发生故障,这个节点上所有的session信息全部丢 失; 
同一用户同一session只和一个webServer交互,一旦这个webserver发生故障,本次session将丢失,用户不能继续使用 !
6、session 复制
    Session复制,主要是指集群环境下,多台应用服务器之间同步Session,确保Session保持一致,且Session中的内容保持一致,对外透明——看起来就像是一台应用服务器! 
如果其中一台服务器发生故障,根据负载均衡的原理,Apache会遍历寻找可用节点,分发请求。与此同时,当前用户Session不能发生数据丢失,其余各节点服务器应保证用户Session数据同步。
   
 

相关阅读:

TAG: 负载均衡

 

评分:0

我来说两句

Open Toolbar