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


    在做关键服务,及大容量服务时,常常会用到负载平衡(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,基于代理的,这个原理基本相同于基于业务的方式。

      

  • 相关阅读:
    WebService协议
    用实例揭示notify()和notifyAll()的本质区别 收藏
    深入Java集合学习系列:HashMap的实现原理
    Oracle 索引扫描的五种类型
    Spring 异常
    Spring MVC
    银行家算法
    Java内存模型与多线程
    Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
    SpringMVC单元测试之MockMVC,模拟登入用户
  • 原文地址:https://www.cnblogs.com/windwithlife/p/1515535.html
Copyright © 2020-2023  润新知