apache 负载均衡_nginx轮询策略配置

apache 负载均衡_nginx轮询策略配置Apache负载均衡配置详解

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Apache负载均衡配置详解,首先需要配置apache的反向代理,可以参考文章: apache反向代理配置

1、打开apache对负载均衡的支持

配置文件/etc/httpd/conf/httpd.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so

2、增加配置反向代理,并注释掉原来代理的配置

<VirtualHost *:80>
ServerAdmin ganymede.wuke@foxmail.com
ServerName www.ganymede.com
ProxyRequests Off

#<Proxy *>
#Order deny,allow
#Allow from all
#</Proxy>

ProxyPass /test1_2 balancer://cluster/test1_2
ProxyPassReverse /test1_2 balancer://cluster/test1_2

</VirtualHost>

配置基于cluster的路径的代理

3、配置基于http的负载均衡

<Proxy  balancer://cluster>
       BalancerMember http://spark1:8088/ 
       BalancerMember http://spark2:8088/ 
</Proxy>

基于cluster的代理都分别转向了spark1与spark2两台服务器,默认负载是两台服务器一样的。

<Proxy  balancer://cluster>
       BalancerMember http://spark1:8088/ loadfactor=5
       BalancerMember http://spark2:8088/ loadfactor=1
</Proxy>

配置load factor 负荷系数,载荷因素。以上配置,访问分配spark1与spark2为5比1 ,即有6次请求,有5次转向了spark1服务器,1次转向了spark2服务器。

4、配置基于ajp的负载均衡

在VirtualHost增加反向代理配置

ProxyPass /testajp balancer://clusterajp/testajp
ProxyPassReverse /testajp balancer://clusterajp/testajp

增加一个新的Proxy代理配置

<Proxy  balancer://clusterajp>
       BalancerMember ajp://spark1:8021/
       BalancerMember ajp://spark2:8021/
</Proxy>

5、ajp代理优于http代理

前端apache,后端tomcat,通过ajp协议访问性能优于http协议,随着并发量的提升,效果会更加趋于明显。可以从吞吐率和总时间开销上观察。 (吞吐率:单位时间内计算机的处理请求来描述其并发处理能力) 
原因总结如下: 
1、ajp使用长连接保持webServer和servlet Container的通信,减少了建立tcp连接的开销。可以通过观察tomcat/manager 下serverStatus,ajp建立的连接都处于keepalive的状态。 
2、ajp使用一定的协议格式,减少了传递的报文数据大小,节省了带宽。可以通过观察ajp和http 的benchmark报告重看到,Total transferred 一项有明显的区别。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195439.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手机上有哪些不错的c语言编程软件?[通俗易懂]

    手机上有哪些不错的c语言编程软件?[通俗易懂]手机上编程C语言的软件其实非常多,下面我介绍2个不错的软件,分别是C语言编译器和C++编译器,这2个软件都可以在手机上直接编译运行C语言程序,而且使用起来非常不错,下面我简单介绍一下这2个软件的安装和使用:C语言编译器1.首先,下载安装C语言编译器,这个可以直接到手机应用商店中搜索,如下,大概也就13兆左右:2.安装完成后,打卡这个软件,就可以直接新建C语言文件,进…

    2025年9月6日
    4
  • export_symbol的使用

    export_symbol的使用       问题是这样的,前几天师妹需要在内核模块中使用tasklist_lock来操作保护内核进程链表,由于tasklist_lock如果要在模块中使用就必须把它填充到内核符号表里面,就要使用export_symbol,她在sched.h里面就是tasklist_lock声明的地方,添加export_symbol(tasklist_lock),在编译的时候总是出现undefinedsymb

    2022年7月16日
    22
  • 排序算法:堆排序

    排序算法:堆排序

    2021年10月5日
    48
  • Git切换分支命令

    Git切换分支命令GIT切换分支命令1.查看远程分支2.查看本地分支3.切换分支程序员在开发和管理项目的时候,往往会会切除多个分支来进行使用,现在就来谈谈如何切换分支1.查看远程分支1.gitbranch-a先到你的项目根目录下打开Git,在命令行输入上面指令就能查出远程所有分支了。2.查看本地分支2.gitbranch这一步可有可无,只是让自己知道项目现在处于哪个分支之下3.切换分支3.gitcheckout-b想要的分支名(如果本地有这分支的话,-b就可以省略

    2022年6月20日
    52
  • 详解C/C++中volatile关键字

    详解C/C++中volatile关键字一、volatile介绍volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:这段…

    2022年6月1日
    28
  • e.Row.Attributes.Add「建议收藏」

    e.Row.Attributes.Add「建议收藏」其实看到属性这个单词,还有点发憷呢,C#里面有个关键词是Attributes,搞了半天貌似没有弄清楚e.Row.Attributes.Add()函数的介绍,包括参数,什么是Attributes就是往行里面添加属性相当于html里面的一个表里的一个行的属性,你看看那个属性有什么,这个就可以添加什么属性//这个就是在前台添加一个Button的按钮,然后给他添加事件<asp…

    2022年9月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号