Linux+Apache+Tomcat 负载均衡

  1. 安装好JDK并设置好环境变量.

  2. 下载apache http服务器并安装.

tar zxvf httpd-*.tar.gz
cd httpd-*
./configure –prefix=/opt/apache –enable-module=so
make
make install
  1. 安装tomcat1和tomcat2,修改conf/server.xml,使其端口不冲突,并设置engine的jvmRoute

tomcat2配置
设置engine的jvmRoute

  1. 安装mod_jk,
tar zxvf akarta-tomcat-connectors-jk-*-src.tar.gz
cd %jk-home%/native
./buildconf.sh
./configure with-apxs=/opt/apache/bin/apxs
make
make install
cp native/apache-2.0/mod_jk.so /opt/apache/modules
  1. copy %jk-home%/conf下的文件至%apache-home%/conf

  2. 修改%apache-home%/conf/httpd.conf文件,加入“ Include conf/httpd-jk.conf ”.

  3. 修改%apache-home%/conf/httpd-jk.conf

LoadModule jk_module modules/mod_jk.so

JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkShmFile logs/mod_jk.shm
JkMount /*.jsp balancer
JkWatchdogInterval 60
  1. 修改%apache-home%/conf/worker.properties
worker.list=balancer
worker.balancer.type=lb
worker.balancer.error_escalation_time=0
worker.balancer.max_reply_timeouts=10
worker.node1.host=127.0.0.1
worker.node1.port=8009
worker.node1.activation=A
worker.node2.reference=worker.template
worker.node2.host=127.0.0.1
worker.node2.port=9009
worker.node2.activation=A
worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3
worker.balancer.balance_workers=node1,node2
  1. 启动tomcat 启动apache ,配置成功.

其它资料

负载均衡的基本算法(参考F5产品):

随机:负载均衡方法随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,
然后把连接发送给它。虽然许多均衡产品都支持该算法,但是它的有效性一直受到质疑,
除非把服务器的可运行时间看的很重。
轮询:轮询算法按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。
轮询算法在大多数情况下都工作的不错,但是如果负载均衡的设备在处理速度、连接速度和内存等
方面不是完全均等,那么效果会更好。
加权轮询:该算法中,每个机器接受的连接数量是按权重比例分配的。这是对普通轮询算法的改进,
比如你可以设定:第三台机器的处理能力是第一台机器的两倍,那么负载均衡器会把两倍的
连接数量分配给第3台机器。
动态轮询:类似于加权轮询,但是,权重值基于对各个服务器的持续监控,并且不断更新。
这是一个动态负载均衡算法,基于服务器的实时性能分析分配连接,比如每个节点的当前连接数
或者节点的最快响应时间等。
最快算法:最快算法基于所有服务器中的最快响应时间分配连接。
该算法在服务器跨不同网络的环境中特别有用。
最少连接:系统把新连接分配给当前连接数目最少的服务器。
该算法在各个服务器运算能力基本相似的环境中非常有效。
观察算法:该算法同时利用最小连接算法和最快算法来实施负载均衡。服务器根据当前的连接数和
响应时间得到一个分数,分数较高代表性能较好,会得到更多的连接。
预判算法:该算法使用观察算法来计算分数,但是预判算法会分析分数的变化趋势来判断某台服务器
的性能正在改善还是降低。具有改善趋势的服务器会得到更多的连接。该算法适用于大多数环境。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个节点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值