实现四台Web服务器的负载均衡

原创 2007年09月11日 23:02:00
实现四台Web服务器的负载均衡
2005-11-4 14:05:00 文/RealSky 出处:www.esgd.com
集群的概念容易和一些概念(SMP 、NUMA、MPP、分布处理)相混淆,其主要区别在资源被共享和复制的级别不同。它们是按SMP、NUMA、MPP、集群、分布处理从最紧 密到最松散的排列。

  SMP(多处理系统):这种系统是在一台计算机里有多个CPU,CPU之间的地位是平等的,它们共享内存空间和I/O设备。其工作方法是由操作系统负责将任务分解成多个并发进程,然后让其在不同的CPU上运行。

  NUMA(非统一内存存取):这种系统可以让多处理计算机的CPU比SMP更高效地共享本地内存,CPU可以更快速地存取单一的内存区域,不过如需要也可以用间接方式存取其他区域的内存,这种方法是让某些CPU在给定范围的物理内存中有更大的优先使用权。

  MPP(巨型并行处理):这种系统的节点都有自己的CPU,并有自己的专有资源。此种结构相对独立,但各个节点一般没有完全存取I/O的能力。

  集群:集群系统是由独立的计算机组成,但有控制管理工具统一管理。

  分布处理:它是比我们要构筑的集群系统更松散的连接,一般是任务在不同的地方完成,没有可以作为整体管理的单一实体。

  以上的聚合方式有紧有疏,它们都有自己的适用范围,这里就不多说了,有兴趣可自己找些资料看,这里只是想让大家了解它所处的位置。

  实现负载均衡的方法

  集群的目的是共享和高效地利用资源,提供大型运算,提供负载均衡分配请求压力以及出现故障时能够进行切换实现高可用性。

   限于篇幅,本文只对负载均衡的实现做些介绍(针对TurboLinux Cluster Server)。通过对相关软件的分析,实现集群负载的功能是通过流量管理实现的,具体有这样几种实现方法:直接路由(Direct forwarding)、网络地址转换(NAT)、隧道技术(Tunneling)。

  直接路由(Direct forwarding)

  当参与集群的计算机和作为控制管理的计算机在同一个网段时可以用此法,控制管理的计算机接收到请求包时直接送到参与集群的节点。优点是返回给客户的流量不经过控制主机,速度快开销少。

  网络地址转换(NAT)

   这种方法可能大家较熟悉,地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身,当外界包 送到转换器时,它能判断出应该将包送到内部网的哪个节点。优点是节省IP地址,能对内部进行伪装;缺点是效率低,因为返回给请求方的流量经过转换器。

  隧道技术(Tunneling)

  这种方式是在集群的节点不在同一个网段时可用的转发机制,是将IP包封装在其他网络流量中的方法,为了安全的考虑,应该使用隧道技术中的VPN,也可使用租用专线。

  集群所能提供的服务是基于TCP/IP的Web服务、Mail服务、News服务、DNS服务、Proxy服务器等等,下面我们将就具体的产品TurboLinux Cluster Server 来实现一个进行负载均衡集群系统,用于提供Web和FTP的服务。

  四台服务器的负载均衡实例

  所提供的服务:Web、FTP。

  系统的实现目的:做一个较完善负载均衡的系统,以便能用到其中的较多的功能。

  采用设备状况:使用四台服务器,其中3台装TurboLinux Cluster Server,1台安装Windows 2000 Sever。

  系统安装

  1.在两台服务器上安装TurboLinux, apache和wu-ftpd也要安装,因为集群要提供这种服务,安装完后重启,挂接光驱在目录/mnt/cdrom下,执 行./TLCS-install,然后按提示完全安装。

  2.在一台服务器上安装Windows 2000 Server,要安装Internet Information Server 5.0。

  系统配置

  1.设置各台服务器的IP地址、子网掩码、路由等,调通网络,将一台TurboLinux服务器设置 成DNS服务器,使其能够正向解析和反向解析。服务器名此例为 pc1,域为test.com。

  2.配置Cluster Server。执行Turbolinux clusteradmin,设置情况如下(注:箭头连接的是选单选项,箭头所指为下级选单,最后冒号后为设置情况)。

  ClusterServer Configuration→Cluster Services→Application Stability Agents:

  (1)http为默认的服务,不用设置

  (2)ftp----/usr/lib/ftpAgent

  ClusterServer Configuration→Cluster Services→Service Settings:

  (1)http,80:TCP,sticky

  (2)ftp,21:TCP,ftp

  ClusterServer Configuration→Servers Configuration:

  (1) pc1 (pc1.test.com),direct,ping

  (2) pc2 (pc2.test.com),direct,ping

  (3) pc3 (pc3.test.com),direct,ping

  (4) pc4 (pc4.test.com),direct,ping

  ClusterServer Configuration→Advance Traffic Managers:

  (1)Advance Traffic Manager System: pc1.test.com

  (2)Advance Traffic Manager Setting: 默认值

  ClusterServer Configuration→Virtual Severs:

  (1)主机为:pc1.test.com

  (2)sendmail:master@pc1.test.com

  (3)Server pool name: ServerGroup1

  ClusterServer Configuration→Globle Settings:

  网络设置:netmask 255.255.255.0

  配置集群各接点

  因为TurboLinux Cluster Server 本身能被工具自动同步,所以只需配置Windows 2000 Server:

  开始→设置→控制面板→添加新硬件→下一步→添加/排除设备故障→添加新设备→否,我想从列表选择硬件→其他设备→Microsoft:Microsoft Loopback Adapter→完成。

  桌面上右键单击“网上邻居”→属性→TCP/IP→设置IP地址、缺省网关,子网掩码(注:先设成:255.255.255.0)。

  开始→运行→regedit→找到注册表中跟Microsoft Loopback Adapter相关的项,将子网掩码改成:255.255.255.255。

  配置系统以便运行合适的服务、并配置适合控制管理器管理的配置,以便可在控制管理器中使用。

  在管理选单中执行内容同步

  选tlcs_content_sync,输入密码,将复制控制管理计算机中的服务内容。

  在管理选单中执行设置同步

  选tlcs_config_sync,输入密码,将复制控制管理计算机中的设置。

  现在已经可以进入运行状态,可将客户端连接在服务器的交换机上,客户端可以请求Web和FTP服务,需要查看运行情况可以用控制台从https://pc1.test.com:910管理。

   在计算机技术中集群负载平衡是自成体系的,目前它是一个热门技术也是一个高端应用,Internet/Intranet中使用集群负载平衡方案的地方十 分广泛,尤其是大中型网站都难脱离这种技术,直接路由(Direct forwarding)、网络地址转换(NAT)、隧道技术(Tunneling)都会因需要而被采用。它在网络中的作用和被人们重视程度都是很高的,如 果你也感兴趣的话,不妨也来试试。 

六大Web负载均衡原理与实现

开头先理解一下所谓的“均衡” 不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均...
  • asqi1
  • asqi1
  • 2014年11月25日 10:40
  • 5939

实现四台Web服务器的负载均衡(中国IT实践室)

 集群的概念容易和一些概念(SMP 、NUMA、MPP、分布处理)相混淆,其主要区别在资源被共享和复制的级别不同。它们是按SMP、NUMA、MPP、集群、分布处理从最紧密到最松散的排列。   SMP(...
  • Kit_LO
  • Kit_LO
  • 2008年08月07日 18:07
  • 446

如何做镜像服务器 --负载均衡

为什么做镜像服务器? 镜像服务器的主要目的就是为了服务器之间的负载均衡! 而在我们国家,镜像服务器更多用于解决南北线路不通(网通电信互联缓慢)的问题! 如何做镜像服务器? 1.基于特定...
  • shixiaoguo90
  • shixiaoguo90
  • 2014年04月30日 21:31
  • 1682

六种常用的web负载均衡技术

负载均衡不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务...
  • wt725
  • wt725
  • 2017年02月28日 07:38
  • 346

【Linux运维-集群技术进阶】Nginx+Tomcat实现Web服务器的负载均衡

拓扑环境 服务器名称 系统版本 预装软件 IP地址 Nginx服务器 CentOS 7 最小安装 Nginx 192.168.22.227 Web服务器A Ce...
  • u010028869
  • u010028869
  • 2016年01月08日 21:00
  • 6268

Web应用的负载均衡、集群、高可用的解决方案---解决高并发

Web应用的负载均衡、集群、高可用的解决方案---解决高并发 一、相关术语: 1.高并发:由于网站PV(page view)访问量大,单台服务器承载大量访问所带来的压力.所以利用负载均衡技术、反向代...
  • zhulongxi
  • zhulongxi
  • 2017年07月07日 17:03
  • 462

用DNS实现多台服务器作负载均衡

         原理:就是1个主机纪录对应多个IP Address(不同的多台服务器或多张网卡),实现不同DNS客户的均衡轮询.方法:Windows NT 4.0 Servers最初的 NT 4.0...
  • JDMBA
  • JDMBA
  • 2007年01月16日 15:23
  • 6449

几种负载均衡技术的实现

【协议层】http重定向协议实现负载均衡 原理:根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。   如图: ...
  • mengdonghui123456
  • mengdonghui123456
  • 2017年01月02日 20:51
  • 5119

转载:浅谈web应用的负载均衡、集群、高可用(HA)解决方案

浅谈web应用的负载均衡、集群、高可用(HA)解决方案 博客分类:  架构 集群负载均衡           声明:以下仅为个人的一些总结和随写,如有不对之处,还请看到的网友指出,以免误...
  • hxehuang
  • hxehuang
  • 2016年09月18日 17:32
  • 1484

设计高可用Web服务

高可用的设计可以说是web服务架构的目标,如果服务达不到高可用,万一出现故障将会对产品带来重大的负面影响。高可用的架构就是能够让服务在任何情况下都能正常响应,比如双十一的淘宝,面对激增的洪峰照样正常工...
  • sweetvvck
  • sweetvvck
  • 2014年12月28日 23:22
  • 2867
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实现四台Web服务器的负载均衡
举报原因:
原因补充:

(最多只允许输入30个字)