负载平衡与冗余备份方案概述

在做关键服务,及大容量服务时,常常会用到负载平衡(loadbalance)及冗余备份(Redundancy)方案。

一,负载平衡:

   大负载大容量的服务时,需要此方案,多是为了分载每一个服务的压力,对负载进行均衡分配。

   网络服务负载平衡有很多方案:

   1,基于VRRP的网络服务:此方案关键是利用ARP协议,两台以上的机器定期告诉接入网关,自己是某个服务IP,这样,服务就会根据负载情况,或者定时充当这个IP的机器,从而起到负载平衡作用,但这里的业务数据要保持一致。相关的session要进行统一同步复制。

   2,基于网络硬件的服务:位于服务网络入口处,接入硬件设备,由些网络设备分别转发业务数据给相应的多台服务器。需业务数据同步。

   3,基于业务的负载平衡:以业务ID分段/域划分等方法,每台服务器进行为特定ID段业务服务。这需要服务器的统一进行管理。

   4,数据库的负载平衡:这个比较复杂,MySQL有主从同步服务器的方案,也有服务器族方案,Oracle有自己的集群机制,及负载方案,10年前,就用过Oracle的负载方式。DB2同样也有自己的集群方案share-nothing,也曾见过网上提过负载代理的方案,需要第三方软件。

  冗余备份的方案也有很多种:

  1,基于VRRP: 一主多从,当一有个服务器停止服务,VRRP会自动实现冗余功能,因为这台停止服务的机器不再发ARP包来争夺控制权。

  2, 基于业务的: 有服务器管理器,被管理服务器以心 跳时表示其有效,当超时没有心跳时,管理服务器会对该服务器反注册,或者走启动备份服务器。

 3,基于存贮的:大家都应该熟悉RAID的冗余阵列方案。不在多说。

 4,数据库的冗余备份方案过于多样,以后专门整理。

 5,基于代理的,这个原理基本相同于基于业务的方式。

  

posted @ 2009-07-02 15:19  岁月无声  阅读(1082)  评论(1编辑  收藏  举报