在网上看了搜了下,好像很少专门介绍mod_proxy模块的功能的文章,所以今天我来现学现买也说点,先说下apache
2.2之前的版本吧,相对网上相关资料也多点,下面简单几句想必我再多说都是废话拉
下面以在apachemod_proxy下做的反向代理负载均衡为配置实例:在站点www.test.com
,我们按提供的内容进行分类,不同的服务器用于提供不同的内容服务,将对http://www.test.com/news
的访问转到IP地址为192.168.1.1的内部服务器上处理,对http://www.test.com/it
的访问转到服务器192.168.1.2上,对http://www.test.com/life
的访问转到服务器192.168.1.3上,对http://www.test.com/love
的访问转到合作站点http://www.love.com
上,从而减轻本apache服务器的负担,达到负载均衡的目的。
首先要确定域名
www.test.com
在DNS上的记录对应apache服务器接口上具有internet合法注册的IP地址,这样才能使internet上对www.test.com
的所有连接请求发送给本台apache服务器。
在本台服务器的apache配置文件httpd.conf中添加如下设置
:
proxypass /news http://192.168.1.1
proxypass /it http://192.168.1.2
proxypass /life http://192.168.1.3
proxypass /live http://www.live.com
注意,此项设置最好添加在httpd.conf文件“Section 2”以后的位置,服务器192.168.1.1-3也应是具有相应功能的www服务器,在重启服务时,最好用apachectl configtest命令检查一下配置是否有误。
接下来也是我真正想要介绍的2.2版本后在mod_proxy中新添加的mod_proxy_balancer模块给我们带来的新功能。
首先将在主配置文件http.conf以下Module的注释去掉
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
再并增加以下元素
ProxyRequests Off
ProxyPass /test balancer://xuanfei stickysession
=jsessionid nofailover=On
<proxy balancer://xuanfei/>
BalancerMember http://192.168.28.131
loadfactor=1
BalancerMember http://192.168.28.130
loadfactor=1
</proxy>
ProxyPass为代理转发的Url,即将所有访问/test的请求转发到群集balancer://xuanfei
loadfactor为各主机间的负载比例参数,可是设置不同指数
BalancerMember为群集的成员,即群集服务器A或B,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember。
配置好后,启动Apahce服务<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from all
</Location>
器,访问xuanfei/test就会看到群集服务器中应用返回的结果。恭喜你,负载均衡和群集已经配置成功了!
而且还可以同样在http.conf主配置文件主添如下元素:
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from all
</Location>
如果配置成功后你可以可以在地址栏输入 xuanfei/balancer-manager,将可以清楚的看到各节点的工作运行状态:)
同样还可以同样在http.conf主配置文件主添如下元素:
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from all
</Location>
便可以方便的观测到主服务器的当前运行状态,只要在地址栏输入 xuanfei/server-status
用ab对apache负载均衡集群的性能测试对比报告
小结:apache自带mod_proxy功能模块中目前可以实现两种不同的负载均衡集群实现方式,第一种是分工合作的的形式,通过各台主机负责不同的任
务而实现任务分工。第二种是不同的机器在担任同样的任务,某台机器出现故障主机可以自动检测到将不会影响到客户端,而第一种却不能实现但第一种实现方式的
优点在于他是主服务器负担相应没第二种大因为台只是提供跳转指路功能,形象的说他不给你带路只是告诉你有条路可以到,但到了那是否可以看到你见的人他已经
不会去管你了:)。相比之下第二种性能要比第一种会好很多;但他们都有个共同点都是一托N形式来完成任务的所以你的主机性能一定要好o
如以上内容有误或有不足之处,望朋友能给予意见或者建议!谢谢:)
参考资料:wwww
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
#proxy
(想玩深入点你必须学会看英文资料看下上面网址里的东西有很多的详细的不同参数说明,那就可以加玩转拉:)
分享到:
相关推荐
- **Karaf Cellar**:Karaf的子项目之一,用于实现集群功能,支持数据共享、负载均衡等功能。 - **OSGi**:开放服务网关倡议,一种用于构建模块化系统的框架,支持动态部署和更新组件。 2. **安装与配置**: - *...
- **反向代理和负载均衡:** 强大的反向代理功能,可以实现高效的负载均衡,提高整体系统的可用性。 #### 2. Nginx工作原理及安装配置 Nginx的工作原理基于其独特的非阻塞式I/O模型,这种模型允许它高效地处理大量...
除了基本操作,书中还会探讨HBase的高级特性,如Region Splitting和Merge,负载均衡,以及Zookeeper在协调HBase节点中的角色。理解这些机制对于优化HBase集群的性能和稳定性至关重要。另外,故障恢复和监控也是企业...
1. **消费者组**:消费者通过加入消费者组来实现负载均衡和容错,同一组内的消费者不会消费到重复消息。 2. **offset管理**:消费者保存消费的偏移量(offset),以便下次从上次的位置继续消费。 3. **消息保留...
Dubbo是阿里巴巴开源的一款高性能、轻量级的微服务框架,它提供了一整套微服务解决方案,包括服务注册与发现、负载均衡、服务代理、断路器等功能。 #### Dubbo的核心组件 - **Provider(服务提供者)**:暴露服务...
1. **主题(Topics)**:Kafka中的数据被组织成主题,每个主题可以分为多个分区,以实现水平扩展和负载均衡。 2. **分区(Partitions)**:每个主题都可以分割为多个有序的、不可变的数据段,这些段被称为分区。每...
- **集群搭建**:配置多个 broker 实例,实现冗余和负载均衡。 - **监控与日志**:使用Kafka自带的JMX指标,配合Prometheus或Grafana进行监控,利用Logstash收集日志。 5. **高级特性** - **Kafka Streams**:...
- 表分区与负载均衡:Region分裂与合并,自动或手动调整Region分布。 - 监控与故障排查:使用HBase自带的监控工具,以及日志分析。 5. **HBase的高级特性** - Coprocessor机制:在服务器端实现业务逻辑,提高...
每个表被分割成多个Region,由Region Server管理,Master节点负责Region的分配与负载均衡。HBase的数据模型、分布式架构以及强大的查询能力使其在大数据领域具有广泛的应用。 三、HBase配置 在实际项目中,HBase的...
- **分区分配策略**:Kafka有智能的分区分配策略,确保数据的均衡分布和消费者负载平衡。 - **自动故障恢复**:当主副本发生故障时,从副本会自动接管,确保服务连续性。 - **扩展性**:通过增加服务器数量,Kafka...