负载均衡建立在现有网络结构之上,提供了一种有效方式扩展服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
本篇讲述如何利用反向代理来实现web服务器负载均衡。
以上负载均衡架构图,优点是架构较简单,缺点是没有根据业务权重设计负载。
以上负载均衡是通过均衡服务器的实际承载,响应请求数量,传输数据流量,来实现负载均衡。
各负载服务器通过svn服务器实现同步,这样他们也必须处理同步可能带来的问题。
数据库作读写分离,合理加上内存数据库。
一、下面以apache为例,简单说明负载均衡的实现。
Apache加载以下三个模块
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
添加以下内容:
Listen 192.168.1.30:80
<VirtualHost 192.168.1.30:80>
ProxyRequests Off
Proxypass / balancer://proxy/
<Proxy balancer://proxy>
ProxySet lbmethod=byrequests
Order Deny,Allow
Allow from all
BalancerMember http://192.168.1.31
BalancerMember http://192.168.1.32
BalancerMember http://192.168.1.33
</Proxy>
</VirtualHost>
这里你还可以通过不同的算法实现负载均衡,比方说按照请求次数,或者按照流量均衡,这里用到的指令是lbmethod
lbmethod可能的取值有:
lbmethod=byrequests 按请求数均衡(默认值)
lbmethod=bytraffic 按流量均衡
lbmethod=bybusyness 按繁忙程度均衡
Apache还有其他策略,本篇就不多描述,当然你还可以使用nginx等等
二、服务器内容同步,可以利用svn来实现。
首先在一个服务器建立一个svn库,用于存放最新的程序,具体步骤可以参考《windows 搭建本地svn服务器》。
以后每次更新都将最新的文件发布到svn库中。
然后在负载服务器上更新即可。
因为每个负载服务器都是独立开来的,这里需要注意几个问题:
1、内容同步
主要是数据库,还好大都数据库有读写锁机制。另外一个就是上传的文件,如果是用户上传可以考虑放到一个公共的资源服务器。后台文件可以考虑svn同步更新。
2、会话同步
因为是不同服务器,一般session都以文件或者内存形式保存在本地。考虑使用memcached来共享session。
下面以php为例:
;修改php设置文件:
session.save_handler = memcache
session.save_path = "tcp://192.168.1.33:11211"
三、数据库作读写分离,合理利用内存数据库。
web服务器访问的瓶颈的很大原因在于数据库读写上,这时候可以除了做数据库查询优化,索引优化等,还可以考虑将数据库读写分离,如果内容更新太快且保存的价值不大,或者内容长时间不更新,而且经常都要读取等等,都可以考虑使用内存数据库,如memcached。
分享到:
相关推荐
Web服务器负载均衡方案 Web服务器负载均衡方案
分布式Web服务器中负载均衡的实现.pdf
网络的负载均衡是一种动态均衡技术,通过一些工具实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。这种技术基于现有网络结构,提供了一种扩展服务器带宽和增加服务器吞吐量的廉价有效的方法...
如何利用集群解决web服务器负载均衡问题.doc
IT面试笔试过程中常碰到的题目,对于当前Web服务器中必须处理的负载均衡的常用的处理方法有哪些?这里给出了详细的总结。
3.1 Web服务器负载均衡及冗余 5 3.2 服务器安全防护 5 3.3 mail服务器的负载均衡及冗余 6 3.4 FTP服务器负载均衡及冗余 6 3.5 API接口 6 四.方案设计 7 4.1 网络拓扑图 7 4.2 设计描述 8 4.2.1 总体描述 8 4.2.2 ...
一种基于内容的Web集群服务器负载均衡算法
Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明 为了多台后台的web、webservice服务能均衡负载,可以使用nginx进行处理 1)配置文件全配制ok 2)有两个完整的web服务做例子,可以...
如何利用集群解决web服务器负载均衡问题.doc
本文教大家使用Windows Server 2008配置NLB(服务群集)实现负载均衡,这是在网上看到的PDF,不知道出处是哪里的,不过很不错,所以整理给大家来学习下。 1. 什么是群集? 群集是指一组服务器,通过彼此的协同作业,...
Web服务器集群负载均衡技术,希望和大家一起分享~~~
Web服务器集群负载均衡技术的应用与研究文章。
做过的基于集群的web服务器负载均衡设计所用到的服务器软件,有tomcat apache 还有.so文件
校园网Web服务器负载均衡设计及OPNET仿真.pdf
Linux环境下的Web服务器负载均衡技术初探.pdf
在负载均衡的思路下,多台服务器为对称方式,每台服务器都具有同等的地位,可以单独对外提供服务而无须其他服务器的辅助。通过负载分担技术,将外部发送来的请求按...本文对Web服务器和应用服务器的负载均衡进行说明。
用负载均衡来实现web服务器集群.ppt