美文网首页
关于负载均衡的总结

关于负载均衡的总结

作者: Reykjavik_8ce1 | 来源:发表于2019-03-24 18:04 被阅读0次

    负载均衡的分类

    常见的分为三类,dns负载均衡,硬件负载均衡,软件负载均衡

    dns负载均衡

    一般实现地域级别的负载,如北方用户访问北京的机房,南方的用户访问深证的机房,本质是dns解析同一个域名可以得到不同的ip;

    dns解析

    优点:简单,成本低,就近访问,增加访问速度,改善性能;

    缺点:dns缓存时间长,修改dns后,还是用部分用户访问以前的ip,导致访问失败

    扩展性差,无法根据业务做定制化,无法区分服务器差异,无法感知服务器状态;

    硬件负载均衡

    功能强大:却艾米那个支持各层级负载均衡,支持全面的负载均衡算法,支持全局负载均衡;软件能支持10万并发,硬件支持100万并发

    稳定性高:商用硬件负载均衡,经过了良好的测试,稳定性高;支持安全防护

    缺点是价格昂贵,扩展性太差,无法定制化

    软件负载均衡

    nginx是四层的负载均衡,lvs是七层的负载均衡,nginx根据协议负载均衡,而lvs与协议无关,可以做聊天,数据库等

    硬件和软件的区别就在性能上,nginx在万级别,一般是五万,lvs能达到十万,而硬件的f5能达到百万;

    nginx架构示意图

    无论是部署还是维护都很简单,便宜,可以实现业务定制化;但是性能一般;

    大型业务场景下的负载均衡

    负载均衡算法

    轮询

    负载均衡系统接受请求后,按照顺序轮流分配到服务器上;无须关注服务器本身;

    当某台服务器出现问题,cpu飙升,负载均衡是无感知的,还会继续发送请求给相应的服务器;

    有的服务器新,性能好,有的服务器来,性能差一些,但是负载均衡设备无差别对待

    但是注意,虽然不关注服务器状态,但是如果服务器宕机了,或者与负载均衡设别断开连接了,负载均衡设备会把该设备从可用列表中删去,否则会出现系统不可用状态;

    加权轮询

    按照机器性能给服务器打分,这样可以按照服务器的性能给服务器分配任务;

    负载最低优先

    比如nginx可以按照http请求数来决定分配任务(需要进行扩展)

    我们自己开发的负载均衡系统也可以按照cpu负载或者io负载来均衡系统压力

    性能最优秀类

    负载最低优先是站在服务器的角度考虑,性能最优是站在客户端角度来考虑问题

    可以采用打分的方式,是一种动态权重,标识每个service的处理能力,默认的初始能力相同,当每次成功处理一个请求,认为处理能力最够,动态权重加一,当超时处理一个请求时,认为处理能力跟不上了,权重减10

    可以利用动态打分机制实现系统的过载保护,,当外界的访问压力达到一个临界值后,系统会被请求压垮,在外部负载超过系统处理能力时,系统会进行自我保护,依然堆外提供有损的稳定服务

    方案一:通过动态权重标识server的处理能力,服务器设置一个负载阈值,查过这个阈值的请求全部抛弃

    方案二:当一个服务器屡次请求超时,权重不断下降,即认为服务器处理不过来了,谁定策略让服务器休息一下,例如一秒钟不给服务器分担请求;

    如果一个server的动态权重降为0,就认为服务器完全处理不过来了,接下来的时间内,就不分配请求给server,列如一分钟,根据经验,服务器此时在进行fullgc,差不多一分钟能回过神来;

    hash

    根据源地址hash或者某个业务id进行hash,用户请求给固定服务器,典型的是在session相关业务上

    相关文章

      网友评论

          本文标题:关于负载均衡的总结

          本文链接:https://www.haomeiwen.com/subject/moiuvqtx.html