Apache+Tomcat+keepalived的负载均衡session复制及HA

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介:

1 Apache负载均衡

0、关闭防火墙service iptables stop; chkconfig --level 35 iptables off

   关闭selinux vi /etc/selinux/config   SELINUX=disabled

setenforce 0 生效

 

1、将mod_jk-1.2.31-httpd-2.2.x.so上传至/etc/httpd/modules目录下

 

 

2、

vi /etc/httpd/conf/httpd.conf

Include conf.d/*.conf

增加

Include /etc/httpd/conf/mod_jk.conf

 

配置

ServerName=192.168.1.X:80

 

3、

vi /etc/httpd/conf/mod_jk.conf

增加

 

LoadModule jk_module /etc/httpd/modules/mod_jk.so

 

JkWorkersFile /etc/httpd/conf/workers.properties

 

JkLogFile /etc/httpd/logs/mod_jk.log

 

JkLogLevel warn

 

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

 

JkMount /*.* controller 

 

4、

vi /etc/httpd/conf/workers.properties

增加

 

 

worker.list=controller

 

worker.tomcat1.port=8009

worker.tomcat1.host=192.168.1.152

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1 

worker.tomcat2.port=8009 

worker.tomcat2.host=192.168.1.155

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1 

 

worker.tomcat3.port=8009 

worker.tomcat3.host=192.168.1.156

worker.tomcat3.type=ajp13

worker.tomcat3.lbfactor=1 

 

worker.controller.type=lb 

worker.retries=3

worker.controller.balance_workers=tomcat1,tomcat2,tomcat3

 

worker.controller.sticky_session=false

2 Tomcat session复制

1、对于每一个server.xml

  <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

 

2、在Engine标签内增加

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

 

 

3、在程序的web.xmlweb-app结束前增加 <distributable/>

 

4、session复制需用组播添加static route

vi /etc/sysconfig/network-scripts/route-eth0
增加

192.0.2.0/24 dev eth0 scope host
default via 192.0.2.1
192.168.2.0/24 via 192.168.13.1 dev eth0

service network restart

 

reboot 有效

 

3 HA高可用性keepalived配置

1、apache安装在105106

 

2、两台apache配置保持一致除了httpd.confSERVERNAME配置的ip地址

 

3、两台机器分别安装keepalived

yum -y install keepalived

 

4、配置keepalived105

vi /etc/keepalived/keepalived.conf

========================================================

! Configuration File for keepalived

 

global_defs {

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from admin@wisely.com

   smtp_server 192.168.1.0

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

 

vrrp_script chk_httpd {

    script "killall -0 httpd"

    interval 1

    weight -2

}

 

vrrp_instance httpd_1 {

    state MASTER

    interface eth0

    virtual_router_id 58

    priority 100           #priority 

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1058

    }

    virtual_ipaddress {

    192.168.1.101           #vip

    }

    track_script {

    chk_httpd

    }

}

=========================================================

service keepalived start  #启动keepalived服务

chkconfig keepalived on

 

5、配置keepalived106

vi /etc/keepalived/keepalived.conf

=========================================================

! Configuration File for keepalived

 

global_defs {

   notification_email {

     acassen@firewall.loc

     failover@firewall.loc

     sysadmin@firewall.loc

   }

   notification_email_from admin@wisely.com

   smtp_server 192.168.1.0

   smtp_connect_timeout 30

   router_id LVS_DEVEL

}

 

vrrp_script chk_httpd {

    script "killall -0 httpd"

    interval 1

    weight -2

}

 

vrrp_instance httpd_1 {

    state BACKUP

    interface eth0

    virtual_router_id 58

    priority 99            #priority 

    advert_int 1

    authentication {

        auth_type PASS

        auth_pass 1058

    }

    virtual_ipaddress {

    192.168.1.101           #vip

    }

    track_script {

    chk_httpd

    }

}

========================================================

 

访问http://192.168.1.101

<!--EndFragment-->
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
2月前
|
Java 应用服务中间件 Apache
从零手写实现 apache Tomcat-01-入门介绍
创建简易Tomcat涉及理解其作为Java服务器的角色,建立HTTP服务器,实现Servlet接口处理动态和静态内容,以及启动和关闭服务器。项目mini-cat是一个简化版Tomcat实现,支持Servlet、静态网页和基础功能。可通过maven添加依赖并运行测试类快速体验。开源项目位于[GitHub](https://github.com/houbb/minicat)。
|
28天前
|
缓存 负载均衡 NoSQL
Redis系列学习文章分享---第十四篇(Redis多级缓存--封装Http请求+向tomcat发送http请求+根据商品id对tomcat集群负载均衡)
Redis系列学习文章分享---第十四篇(Redis多级缓存--封装Http请求+向tomcat发送http请求+根据商品id对tomcat集群负载均衡)
41 1
|
1月前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
62 7
|
2月前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
|
2月前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)
|
2月前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
2月前
|
负载均衡 网络协议 应用服务中间件
【亮剑】在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。
【4月更文挑战第30天】本文介绍了在Linux中构建高可用性和高性能网络服务的负载均衡工具HAProxy、Nginx和Keepalived。HAProxy是一个高性能的开源TCP和HTTP负载均衡器,适合处理大量并发连接;Nginx是一个多功能Web服务器和反向代理,支持HTTP、HTTPS和TCP负载均衡,同时提供缓存和SSL功能;Keepalived用于监控和故障切换,通过VRRP实现IP热备份,保证服务连续性。文中详细阐述了如何配置这三个工具实现负载均衡,包括安装、配置文件修改和启动服务,为构建可靠的负载均衡系统提供了指导。
|
2月前
|
负载均衡 Ubuntu 应用服务中间件
Apache(mod_proxy)+Tomcat负载均衡配置
Apache(mod_proxy)+Tomcat负载均衡配置
|
2月前
|
存储 缓存 负载均衡
【Apache ShenYu源码】如何实现负载均衡模块设计
整个模块为ShenYu提供了什么功能。我们可以看下上文我们提到的工厂对象。/***/核心方法很清晰,我们传入Upsteam列表,通过这个模块的负载均衡算法,负载均衡地返回其中一个对象。这也就是这个模块提供的功能。
|
2月前
|
存储 Java 应用服务中间件
玩转Apache Tomcat
玩转Apache Tomcat
41 0

推荐镜像

更多