简单的tomcat集群和负载均衡

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 反向代理负载均衡(如Apache+JK2+Tomcat这种组合)使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。

反向代理负载均衡(如Apache+JK2+Tomcat这种组合)

使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。

负载均衡Windows环境
1.mod_jk.so
2.apache-tomcat-9
3.httpd-2.4.33-o102n-x64-vc14.zip
4.jdk-8

以上需要到软件可以在网上下载,推荐在CSDN下载对应文件

一.要先安装好JDK

这一步不详细说,很简单

二.配置好tomcat,修改端口

配置tomcat很简单,不过在集群中需要用到两个相同的tomcat,所以要修改端口号,但是可能改完端口还是不行
此时可以试试:
首先第一个tomcat的配置不用改变
1.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。
2.修改新的tomcat中的startup.bat,把其中的CATALINA_HOME改为CATALINA_HOME2
3.修改新的tomcat中的catalina.bat,把其中的CATALINA_HOME改为CATALINA_HOME2CATALINA_BASE改为CATALINA_BASE2。(这里需要把所有的CATALINA_HOMECATALINA_BASE都改)
4.修改conf/server.xml文件,修改端口就好了
示例:https://jingyan.baidu.com/article/adc815139b12def722bf7377.html

三.解压httpd-2.4.33-o102n-x64-vc14.zip

以管理员身份在命令提示符下切换到Apache24\bin
安装到服务httpd -k install
修改conf\httpd.confDefine SRVROOT "/Apache24" Define SRVROOT "主目录"
(不是bin目录,例如E:\httpd\Apache24)
否则启动httpd会报错

四.mod_jk.so

mod_jk.so是需要下载tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip,然后解压得到的
1、把mod_jk.so文件拷贝到Apache24\modules目录下
2、在httpd.conf文件最后添加
Include conf/mod_jk/mod_jk.conf
3、在Apache24\ conf目录建立文件夹mod_jk
4、创建三个文件mod_jk.confworkers2.propertiesurimap.properties

mod_jk.conf内容

#Load mod_jk module.
LoadModule jk_module modules/mod_jk.so
#Where to find workers.properties
JkWorkersFile conf/mod_jk/workers2.properties
JkMountFile conf/mod_jk/urimap.properties
#Where to put jk logs
JkLogFile logs/mod_jk.log
#Set the jk log level[debug/error/info]
JkLogLevel info
#Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
#JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
JkMount /* loadbalancer

workers2.properties内容

#worker.list=loadbalancer
worker.list=loadbalancer,tomcat1,tomcat2 
#server 列表
#define the first node
worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
#worker.tomcat1.redirect = tomcat1
#define the second node
worker.tomcat2.port=9009
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#worker.tomcat2.redirect = tomcat2
#就是对Tomcat2活动性进行禁用,负载均衡启动的时候,负载都到tomcat1上面去,Tomcat2不参与负载。
#当tomcat1当掉的时候,通过worker.tomcat1.redirect = tomcat2 ,tomcat2就会自己启动起来,接替tomcat1继续工作
#worker.tomcat2.activation = disabled
#Now we define the load-balancing behavior
worker.loadbalancer.type=lb
#mod_jk versions 1.2.7 and up  use balance_workers replaces old balanced_workers 
#worker.loadbalancer.balanced_workers=tomcat1, tomcat2
worker.loadbalancer.balance_workers=tomcat1, tomcat2
worker.loadbalancer.sticky_session=true
worker.loadbalancer.sticky_session_force=true

urimap.properties内容

*.*=loadbalancer

实现集群

把两个tomcat的conf\server.xml里的
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
的注释放开就可以实现简单的集群了

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
3月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
102 0
|
25天前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
31 4
|
25天前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
30 3
|
3月前
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
114 2
|
3月前
|
负载均衡 算法 关系型数据库
MySQL集群如何实现负载均衡?
【8月更文挑战第16天】MySQL集群如何实现负载均衡?
141 6
|
3月前
|
负载均衡 网络协议
使用LVS搭建集群实现负载均衡(二)安装使用
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡(二)安装使用
58 5
|
3月前
|
存储 负载均衡 算法
使用LVS搭建集群实现负载均衡(一)
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡
125 5
|
4月前
|
消息中间件 负载均衡 算法
【RocketMQ系列十二】RocketMQ集群核心概念之主从复制&生产者负载均衡策略&消费者负载均衡策略
【RocketMQ系列十二】RocketMQ集群核心概念之主从复制&生产者负载均衡策略&消费者负载均衡策略
105 2
|
5月前
|
缓存 负载均衡 NoSQL
Redis系列学习文章分享---第十四篇(Redis多级缓存--封装Http请求+向tomcat发送http请求+根据商品id对tomcat集群负载均衡)
Redis系列学习文章分享---第十四篇(Redis多级缓存--封装Http请求+向tomcat发送http请求+根据商品id对tomcat集群负载均衡)
77 1
|
5月前
|
负载均衡 运维 监控
负载均衡与容错性:集群模式在分布式系统中的应用
本文由小米分享,解释了分布式系统中的集群模式。集群模式是通过组合多个服务器节点,共同提供服务,实现高可用性、负载均衡和扩展性。文章介绍了主控节点的角色及其高可用性策略,如主备模式和选举机制,并以Zookeeper为例详细阐述了其工作机制。集群模式的优势在于高可用性、负载均衡、扩展性和数据一致性,但也面临节点通信、数据一致性、故障检测和管理等挑战。最后,作者鼓励读者讨论和交流相关技术问题。
275 5