`
cwqcwk1
  • 浏览: 86821 次
文章分类
社区版块
存档分类
最新评论

简单实现web服务器负载均衡

 
阅读更多

负载均衡建立在现有网络结构之上,提供了一种有效方式扩展服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

本篇讲述如何利用反向代理来实现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服务器负载均衡的方式有多种,例如: - **反向代理**:负载均衡器作为服务器的“代理”,接收来自客户端的请求并转发给后端服务器,隐藏了真实服务器的信息。 - **DNS轮询**:通过DNS服务器对多个IP地址...

    分布式Web服务器中负载均衡的实现.pdf

    ### 分布式Web服务器中负载均衡的实现 #### 背景与挑战 随着互联网的飞速发展,Web服务的需求量急剧增加,这对传统的单一服务器架构提出了严峻的挑战。单单提高服务器性能已不足以应对日益增长的流量压力。因此,...

    实现多服务器负载均衡

    ### 实现多服务器负载均衡的关键知识点 #### 一、负载均衡技术概述 负载均衡是一种用于在多台计算机、网络链接、CPU、硬盘或其他资源中分配工作负载的技术,目的是优化资源使用、最大化吞吐量、最小化响应时间并...

    校园网Web服务器负载均衡设计及OPNET仿真.pdf

    校园网Web服务器负载均衡设计及OPNET仿真 本文主要介绍了校园网Web服务器负载均衡设计及OPNET仿真的相关知识点。随着校园网的普及,Web服务成为校园网最重要的服务之一。在高负载的情况下,Web服务器的性能将成为...

    Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明

    Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明 为了多台后台的web、webservice服务能均衡负载,可以使用nginx进行处理 1)配置文件全配制ok 2)有两个完整的web服务做例子,可以...

    如何利用集群解决web服务器负载均衡问题

    如何利用集群解决web服务器负载均衡问题.doc

    IT面试题目-Web服务器负载均衡技术

    Web服务器负载均衡技术是IT领域中解决高并发访问和服务器压力的重要策略,它通过分散请求到多台服务器,确保没有单一服务器负担过重,从而提高服务的稳定性和响应速度。以下是对这一技术的详细说明: 1. **负载均衡...

    Web服务器集群负载均衡技术的应用与研究

    ### Web服务器集群负载均衡技术的应用与研究 #### 摘要 随着互联网及电子商务的快速发展,Web服务器面临着访问量剧增的压力。为了提高系统对用户的响应速度与整体吞吐量,采用负载均衡技术将Web访问均匀地分配至...

    Web服务器和应用服务器的负载均衡

    总结来说,Web服务器和应用服务器的负载均衡是通过技术手段实现服务高可用性和高效运行的关键手段。无论是通过硬件还是软件实现,负载均衡都能有效提升系统的稳定性和响应速度,同时通过FailOver等高级功能确保服务...

    基于集群的web服务器负载均衡设计的 软件

    基于集群的Web服务器负载均衡设计涉及了多个层次的技术,包括服务器集群的构建、选择合适的服务器软件(如Apache和Tomcat)、利用负载均衡策略优化服务性能以及使用动态链接库实现特定功能。这种设计能够显著提升Web...

    web服务器集群负载均衡Nginx

    总的来说,Nginx的Web服务器集群负载均衡功能为企业级应用提供了强大的支持,它不仅能有效应对高并发访问,还能通过反向代理隐藏内部结构,提升安全性,同时通过灵活的配置和负载均衡策略,实现了系统的高效运行和...

    oracle WEB服务负载均衡

    MateSLB是一种高效的负载均衡解决方案,它能够智能地将来自客户端的请求均匀分布到多个Web服务器上,从而减轻单一服务器的压力。这种机制使得网络管理员能够轻松管理多台服务器,并且可以根据实际需求随时增加或减少...

    Linux服务器负载均衡的研究与实现.pdf

    "Linux服务器负载均衡的研究与实现" Linux服务器负载均衡是指通过某种负载分担技术将大量客户请求均匀分配到通过网络连接的一组服务器,由多个服务器并发响应客户请求、共同完成工作任务。负载均衡技术可以有效地...

    www.cn-ki.net_基于Nginx的Web服务器负载均衡策略改进与实现1

    【描述】: "硕士研究生学位论文——基于Nginx的Web服务器负载均衡策略改进与实现" 【标签】: 【部分内容】: 本文是关于基于Nginx的Web服务器负载均衡策略的改进与实现的研究。作者对Nginx内置的静态加权轮询算法...

    web集群服务的负载均衡方案选择与实现

    DNS负载均衡是一种简单而成本较低的实现方式,通过DNS服务器实现负载均衡的技术主要包括RR-DNS(Round-Robin DNS)。 ##### 3.1 RR-DNS的工作原理 - **基本概念**:RR-DNS是通过DNS服务器轮流返回多个IP地址来实现...

    Web负载均衡解决方案-HAproxy+keepalived实现高可用负载均衡.docx

    本文将对 Web 负载均衡解决方案进行详细介绍,该解决方案基于 HAproxy 和 keepalived 实现高可用负载均衡。HAProxy 是一种提供高可用性、负载均衡以及基于 TCP 和 HTTP 应用的代理,可以支持虚拟主机,免费、快速...

Global site tag (gtag.js) - Google Analytics