Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2551570
  • 博文数量: 709
  • 博客积分: 12251
  • 博客等级: 上将
  • 技术积分: 7905
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-17 00:00
个人简介

实现有价值的IT服务

文章存档

2012年(7)

2011年(147)

2009年(3)

2008年(5)

2007年(74)

2006年(431)

2005年(42)

分类: IT职场

2006-05-31 12:37:18

1.可以基于高层的交换,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。  
  2.系统包括一台实现负载均衡功能的工控机和一台switch,工控机含有两块网卡,分别称为eth0和eth1。Eth0外连internet,分配有固定的ip和mac地址;eth1内连switch,通过switch和多台应用服务器相连。  
  3.系统应该有的功能:  
  1)动态负载分流  
  对internet或局域网内的服务请求,根据服务类型及各服务器的负载情况,分配给能提供该服务的当前负载最轻的服务器。  
  2)IP地址复用  
  对外只提供一个使用的IP地址,多种服务如www服务,ftp服务,邮件服务等共用这一个外部IP地址,实际处理时可用多台服务器,分配有不同的内部IP地址。  
  3)网管功能:流量统计分析和非正常连接统计分析  
  可以分服务器统计每个服务器的正向流量和反向流量;统计连接中非正常(如非正常结束)连接的数量,供管理人员分析线路质量。  
  4)高可靠性保证:使用看门狗方式,自动保证系统自身的可靠性  
  5)备份冗余  
  系统自动检测每台服务器是否正在正常运行,若检测到某台服务器工作不正常,则自动切换到备份服务器。  
  4.负载均衡的依据  
  1)基于流量和连接的综合分析  
  一般情况下,一个用户使用某个服务,首先要和服务器建立一个连接,在整个接受服务的过程中,连接一直保持,直到该次服务完毕,那么该连接也就结束。为了保证一个用户的一次服务的完整性,要把整个服务过程中的这个连接分给同一台服务器。所以,我们的负载均衡系统是基于连接的,也就是说,一个连接内的所有IP包都要分配给同一台服务器,这就涉及到怎么分连接的问题,在下面讲述。另外一个分流的依据是流量,系统一直动态统计每台服务器的正向和反向流量,在保证一个IP包的连接完整性的前提下,把它分给正向流量最小的机器。所以,我们的系统是基于连接和流量二者综合分析的基础上的。  
  2)连接的处理  
  一个TCP连接有四个要素:源IP、目的IP、源端口、目的端口,这四个要素唯一确定一个TCP连接。一般情况下,都要以这四个要素来区分不同的连接。但是,在某种情况下,比如一个用户请求某个web页面时,会同时有多个连接,如果要使这多个连接分配给同一台服务器,那么就要求区分连接时不能那么严格。这多个连接的共性是客户端的IP地址相同,所以,有些情况下需要根据源IP、目的IP和目的端口三个要素来区分连接。  
  3)流量统计  
  流量有两个方向,我们称流向服务器一方的流量为正向流量,反之为反向流量。每把一个IP包分配给某个服务器,就要统计当前该服务器正在处理的连接数和正向、反向数据的总长度,每10S种计算一下流量。  
  4)服务器主动外发数据的处理  
  当服务器主动外发数据时,因为系统中还没有保存正向连接的记录,故不能根据系统记录的动态连接信息决定该数据包的目的mac地址。系统中需要事先保存一个路由表,保存有和系统相连的外发最近网关的mac和ip。对服务器主动外发的数据,就发给最近的网关。最近网关的mac和ip可通过静态配置来取得。  
  5)UDP的处理  
  因为UDP没有连接的概念,所以不存在连接的建立、存在和消亡问题。对UDP,可以采用“伪连接”的方式处理。即:因为UDP也有TCP连接的四个要素,可以把UDP也看成一个连接。当一个新的四要素组合出现时,即可认为是连接的开始;超过某个时间没有该连接的数据到来时,就认为该连接结束。  
阅读(1975) | 评论(0) | 转发(0) |
0

上一篇:交换机镜像

下一篇:MySQL集群

给主人留下些什么吧!~~