zoukankan      html  css  js  c++  java
  • 负载均衡阅读总结

    负载均衡的本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量的项目中,重要性不言而喻。在早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求。随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,多台服务器是如何去均衡流量,如何组成高性能的集群非常关键

    这时负载均衡就很重要,负载均衡技术方案主要有三种:

    基于DNS负载均衡  基于硬件负载均衡  基于软件负载均衡  三种方案各有优劣,DNS负载均衡可以实现在地域上的流量均衡,硬件负载均衡主要用于大型服务器集群中的负载需求,而软件负载均衡大多是基于机器层面的流量均衡,在实际场景中,这三种是可以组合在一起使用

    基于DNS做负载均衡其实是比较简单的方案,原理就是在用户访问域名时,通过用户所在的不同地址位置返回不同的IP,举例来说,南方的用户来访问返回给用户南方服务器的IP,北方的用户则返回给其北方服务器的IP,按照就近原则分流了大量用户,缓解了集群的压力,提升了用户的访问速度。

    但是它同样有着极限性,大多是基于地域或者干脆做IP轮询,没有更高级的路由策略

    基于硬件负载均衡是非常强大的方式,通过硬件来对抗压力,性能非常好,处理速率非常高,但是局限性就是价格贵,一般的中小公司是不舍得用的。

    基于软件的负载均衡,软件的负载均衡是指用软件的方式来分发和均衡流量,软件负载均衡,分为七层协议和四层协议,网络协议有七层,基于第四层传输层来做流量分发的方案称为4层负载均衡,例如LVS,而基于第七层应用层来做流量分发的称为7层负载均衡,例如 Nginx。这两种在性能和灵活性上是有些区别的。基于4层的负载均衡性能要高一些,一般能达到 几十万/秒 的处理量,而基于7层的负载均衡处理量一般只在 几万/秒 。这种方式性价比高,只

    需投入一点技术去优化优化即可,是互联网公司用的最多的一种方式,

    常用的均衡算法

    • · 轮询策略
    • · 负载度策略
    • · 响应策略
    • · 哈希策略

    轮询策略其实很好理解,就是当用户请求来了之后,「负载均衡器」将请求轮流的转发到后端不同的业务服务器上。这个策略在DNS方案中用的比较多,无需关注后端服务的状态,只药有请求,就往后端轮流转发,非常的简单、实用。

    负载度策略是指当「负载均衡器」往后端转发流量的时候,会先去评估后端每台服务器的负载压力情况,对于压力比较大的后端服务器转发的请求就少一些,对于压力比较小的后端服务器可以多转发一些请求给它。响应策略是指,当用户请求过来的时候,「负载均衡器」会优先将请求转发给当前时刻响应最快的后端服务器。
    也就是说,不管后端服务器负载高不高,也不管配置如何,只要觉得这个服务器在当前时刻能最快的响应用户的请求,那么就优先把请求转发给它,这样的话,对于用户而言,体验也最好。

    Hash策略也比较好理解,就是将请求中的某个信息进行hash计算,然后根据后端服务器台数取模,得到一个值,算出相同值的请求就被转发到同一台后端服务器中。

     

  • 相关阅读:
    Git 从入门到入坑
    单件模式(单例模式)
    装饰者模式
    观察者模式
    设计模式入门
    SpringBoot + Mybatis + Redis 整合入门项目
    Spring Boot 前后端交互及参数传递
    Spring Securtiy 认证流程(源码分析)
    Spring Boot 静态页面跳转
    第一条手机验证码
  • 原文地址:https://www.cnblogs.com/ggrm/p/10618592.html
Copyright © 2011-2022 走看看