设为首页 收藏本站
查看: 755|回复: 0

[经验分享] apache tomcat jk整合群集负载均衡

[复制链接]

尚未签到

发表于 2018-11-26 07:37:11 | 显示全部楼层 |阅读模式
  本文是接上面文章所做的tomcat群集,以及session的复制
  环境:centos5.4  apache2.2  tomcat6.0 jk1.3
  目的:单机上2个tomcat做到负载均衡并且session在多个tomcat之间复制
  1 修改server.xml配置文件(直接贴我自己的)


  • tomcat1的配置文件






  •    
  •    
  •    
  •    
  •    
  •    
  •    

  •    
  •    
  •      
  •      
  •    

  •    
  •    
  •    
  •      
  •      
  •      
  •      
  •      
  •      
  •      
  •                
  •      
  •      

  •      
  •      


  •      

  •       
  •      

  •       
  •                
  •             
  •          
  •             
  •    
  •             
  •                
  •                
  •                
  •                
  •                  
  •                
  •                
  •                
  •                
  •             
  •    
  •             
  •             
  •    
  •             
  •             
  •         
  •       
  •       

  •       
  •       

  •       
  •       



  •          
  •          

  •          
  •          

  •       
  •      
  •    



  • tomcat2的配置文件






  •    
  •    
  •    
  •    
  •    
  •    
  •    

  •    
  •    
  •      
  •      
  •    

  •    
  •    
  •    
  •      
  •      
  •      
  •      
  •      
  •      
  •      
  •                
  •      
  •      

  •      
  •      


  •      

  •       
  •      

  •       
  •                
  •             
  •          
  •             
  •    
  •             
  •                
  •                
  •                
  •                
  •                  
  •                
  •                
  •                
  •                
  •             
  •    
  •             
  •             
  •    
  •             
  •             
  •         
  •       
  •       

  •       
  •       

  •       
  •       



  •          
  •          

  •          
  •          

  •       
  •      
  •    


  2 http下配置
  workers.properties配置


  • worker.list=controller

  • worker.worker1.type=ajp13
  • worker.worker1.host=localhost
  • worker.worker1.port=8009
  • worker.worker1.lbfactor=1
  • worker.worker1.cachesize=10
  • worker.worker1.cache_timeout=600
  • worker.worker1.socket_keepalive=1
  • worker.worker1.socket_timeout=300

  • worker.worker2.type=ajp13
  • worker.worker2.host=localhost
  • worker.worker2.port=18009
  • worker.worker2.lbfactor=1
  • worker.worker2.cachesize=10
  • worker.worker2.cache_timeout=600
  • worker.worker2.socket_keepalive=1
  • worker.worker2.socket_timeout=300

  • worker.controller.type=lb
  • worker.retries=3
  • worker.controller.balance_workers=worker1,worker2
    worker.controller.method=B
    # 如何选择最优的worker, B[usyness]: 选最不忙的, R[equest]: 缺省
    worker.controller.sticky_session=0
  • worker.controller.sticky_session_force=0
  • #ticky_session   sticky_session_force             含义
    #     true             false            SESSION会复制,有粘性
    #     true             true             SESSION不复制,有粘性
    #     false            false            SESSION会复制,无粘性
    #     false            true             SESSION会复制,无粘性
    # *注意*  worker.controller.sticky_session=1,等同于worker.controller.sticky_session=true.此处指定集群是否需要会话复制,
    #如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此
    #Tomcat服务器上处理;如果设为false,则表明需求会话复制。这就是说,如果你要想进行均衡负载,并在192.168.1.5和192.168.1.3
    #两台机器的Tomcat实例上实现集群全局session复制,此处值要设置成false。
    #sticky_session 1: True, otherwise False, 相同session  id一直访问同一服务器   
    #sticky_session_force session id出错状态不返回500(Server Error),  由另一worker接手

  配置uriworkermap.properties


  • JkMount /servlet/* controller
  • JkMount /*.jsp controller

  配置httpd.vhost.conf


  • NameVirtualHost *:80

  •     ServerAdmin webmaster@dummy-host.example.com
  •     DirectoryIndex index.html index.htm index.jsp
  •     DocumentRoot "/opt/webapps/test1"
  •     ServerName localhost
  •     ErrorLog "logs/dummy-host.example.com-error_log"
  •     CustomLog "logs/dummy-host.example.com-access_log" common
  •     Include /usr/local/apache/conf/uriworkermap.properties
  •      
  •         Options Indexes FollowSymLinks
  •         AllowOverride None
  •         Order allow,deny
  •         Allow from all
  •      


  3 测试负载均衡
  写一个 jsp 来进行测试




  刷新这个页面(可以换浏览器刷新),然后查看
  /usr/local/tomcat1/logs/catalina.out
  /usr/local/tomcat2/logs/catalina.out
  可以看到2边都会出现==========  test  ========  
  说明负载成功
  4 测试session复制
  建一个index.jsp




  • Cluster App Test

  • Server Info:

  • 0) {
  •      String dataValue = request.getParameter("dataValue");
  •      session.setAttribute(dataName, dataValue);
  • } out.print("Session 列表"); Enumeration e = session.getAttributeNames();
  • while (e.hasMoreElements()) {
  •      String name = (String)e.nextElement();
  •      String value = session.getAttribute(name).toString();
  •      out.println( name + " = " + value+"");
  •          System.out.println( name + " = " + value);
  •    }
  • %>

  •     名称:
  •       
  •     值:
  •       
  •      
  •    





  • 建立/opt/webapps/test1/WEB-INF文件夹

    新建web.xml文件

    内容如下





  •        TomcatDemo
  •         


注意:在应用的web.xml加入  即可



然后打开首页同时观察tomcat的日志,可以发现tomcat1在运行这个页面,同时记录了session,然后你停止
tomcat1,会刷新页面你会发现tomcat2依旧保存这个session,说明tomcat1和2session之间是复制了




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639594-1-1.html 上篇帖子: org.apache.commons.mail 下篇帖子: [Apache] lamp平台安装【注解版(整理后)】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表