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

关于负载均衡的总结

作者: 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相关业务上

相关文章

  • 四层负载均衡和七层负载均衡的区别

    关于负载均衡,经常听到四层负载均衡和七层负载均衡的说法,他们之间有什么关系和区别呢,今天就简单总结概括下。 概述 ...

  • nginx 负载均衡

    linux负载均衡总结性说明(四层负载/七层负载) 一,什么是负载均衡1)负载均衡(Load Balance)建立...

  • SpringCloud-Ribbon负载均衡

    Ribbon是SpringCloud提供的关于客户端负载均衡组件。 负载均衡 负载均衡设备可以分为硬件负载和软件负...

  • 关于负载均衡的总结

    实现Nginx的负载均衡的技术基础有5种: 1.HTTP重定向负载均衡。 根据用户的HTTP请求计算一台真是的WE...

  • 关于负载均衡的总结

    负载均衡的分类 常见的分为三类,dns负载均衡,硬件负载均衡,软件负载均衡 dns负载均衡 一般实现地域级别的负载...

  • 负载均衡(Load Balancing)详解

    本文主要总结个人学习负载均衡(Load Balancing)的知识,主要包括以下内容: 为什么要有负载均衡? 负载...

  • linux运维之LVS(一)

    关于LVS负载均衡 一、什么是负载均衡: 负载均衡集群提供了一种廉价、有效、透明的方法,来扩展网络设备和 服务...

  • 程序猿之踩坑&思考&困惑02

    应用如何实现负载均衡? 因为最近在看网络相关的书,我从DNS做内部负载均衡的角度来说下关于实现应用负载均衡的做法之...

  • 当面试官问我Nginx如何实现负载均衡,我这么答让他眼前一亮

    负载均衡介绍 在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类,主要分为硬件负载均衡和软件负载均衡,...

  • 负载均衡与集群的区别和联系

    一、关于负载均衡和集群的概念(区别) 负载均衡:服务器A,比如做了Nginx处理,通过服务器A端口88均衡转发(请...

网友评论

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

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