负载均衡其实就是任务的分发,使得任务能按照你的预想分配到各个计算单元上,它能提高服务对外的性能,避免单点失效场景。这里要注意的一点是虽说叫负载均衡,但是有时候我们的分配算法就是不是均衡的。

比如配个nginx,做两台服务器的负载均衡,一台机子比较老是以前的配置比较低,一台是新机子配置高,那我们的分配权重可能就是3-7分,而不是五五开。所以是预想分配。但是业界还是习惯按照负载均衡来表达这个任务分配机制。

负载分类

负载均衡常见的有: 软件负载均衡、硬件负载均衡、DNS负载均衡。

软件负载均衡

软件负载均衡是最常见的,大小公司都需要用到它。

软件负载均衡是通过负载均衡功能的软件来实现负载均衡,常见的软件有LVS、Nginx、HAProxy。

软件负载负载均衡又分四层和七层负载均衡,四层负载均衡就是在网络层利用IP地址端口进行请求的转发,基本上就是起个转发分配作用。而七层负载均衡就是可以根据访问用户的HTTP请求头、URL信息将请求转发到特定的主机。LVS为四层负载均衡。Nginx、HAProxy可四可七。

Nginx是万级别的,通常只用它来做七层负载,LVS来做四层负载。LVS是十万级别的,所以如果顶不住常见的也有这样的搭配。

软件负载均衡的优点在于便宜而且简单灵活,就买个主机,装下软件,配置一下就能用了,配置也很简单对于一般小型企业,或者并发量不高的企业来说就够用了。而且在高峰期时容易扩容。

缺点在于(和硬件负载均衡比)性能一般,流量很大的企业就用软件负载均衡顶不住,没防火墙或者防DDos攻击等安全性功能。

硬件负载均衡

硬件负载均衡就是用一个硬件一个基础网络设备,类似我们的交换机啊这样的硬件,来实现负载均衡。常见的硬件有F5、A10。

优点就是:

1.功能强大,支持全局负载均衡提供全面的复杂均衡算法。

2.性能强悍,支持百万以上的并发。

3.提供安全功能,例如防火墙,防DDos攻击等。

这么一听我靠这么吊谁不用啊赶紧买个。别急我们下面个图片。这网上找的,价格升序了最低也得15万,高的我看到有90万的。

缺点:

1.贵!这算是它最大的缺点了。为了安全通常还得一主一备,啧啧。

2.扩展能力差,当访问量突增的时候超过限度不能动态扩容。

DNS负载均衡

这个负载均衡时通过DNS来的,因为DNS解析同一个域名可以返回不同的ip。所以例如哈尔滨的人访问百度就返回距离他近的那个机房的IP,海南的人访问百度就返回距离他近的那个机房的IP。所以主要是用来实现地理级别的负载均衡。

优点就是:

1.简单,交给DNS服务器处理咱们都不用干活

2.因为是就近访问可以减少响应的时间,提升访问速度

缺点:

1.DNS有缓存而且缓存时间较长,所以当机房迁移等需要修改DNS配置的时候,用户可能还会访问之前的IP,导致访问失败。

2.扩展能力差,因为运营商管理控制的,由不得我们定制或者扩展。

3.比较笨,不能区分服务器之间的差异,也不能反映服务器的当前运行状态

使用套路

DNS负载均衡是地理级别的,硬件负载均衡对应的是集群级别的,软件负载均衡对应的是机器级别的。

不过一般而言像小公司或者流量不大的公司都是只需要软件负载均衡,也可能LVS都不需要上所以是按实际情况删减上图的一些东西。真正公司发展起来用户量激增才会考虑多机房和上硬件,毕竟是需求的驱使和不差钱了。

负载均衡的几种方式_负载均衡的几种方式相关推荐

  1. jsp是在html里面嵌入哪种代码?_奶茶店铺用哪种制冰机才合适?

    像在这样炎炎的夏日,温度在直线飙升,茶饮市场最近可谓是异常火,店铺人流量一旦增多,还能保证每一杯饮品的质量吗?还能保证门店的制冰机产量能够跟上需求节奏吗? 奶茶店铺用哪种制冰机才合适?今天,腾工智能商 ...

  2. slb健康检查方式_负载均衡(SLB)

    健康检查异常排查思路 1. 四层排查 TCP协议下,负载均衡使用 SYN包进行探测: 在监听器页面,选中查看的监听器,选择[服务器信息]选项,查看负载均衡后端服务器的健康状态,若不健康,排查思路如下: ...

  3. java前后端分离的实现方式_采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...

    MyUploader-Backend 单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 简介 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能. 前端采用 vue.js + ...

  4. 依赖注入的三种方式_一起学Spring之三种注入方式及集合类型注入

    本文主要讲解Spring开发中三种不同的注入方式,以及集合数据类型的注入,仅供学习分享使用,如有不足之处,还请指正. 概述 Spring的注入方式一共有三种,如下所示: 通过set属性进行注入,即通过 ...

  5. 分布式锁的三种实现方式_分布式锁的几种实现方式~

    目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CAP理论告诉我们"任何一个分布式系统都无法同时满足一致性(Consistency) ...

  6. 分布式锁的三种实现方式_分布式锁的多种实现方式

    目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题.分布式的CAP理论告诉我们"任何一个分布式系统都无法同时满足一致性(Consistency) ...

  7. mysql 的几种缓存_数据库缓存的几种方式

    数据库缓存的几种方式 引入缓存可以提高性能,但是数据会存在两份,一份在数据库中,一份在缓存中,如果更新其中任何一份会引起数据的不一致,数据的完整性被破坏了,因此,同步数据库和缓存的这两份数据就非常重要 ...

  8. 创建线程的方式_创建线程有几种不同的方式?

    方式可以用来创建线程 1)继承Thread类 2)实现Runnable接口 3)应用程序可以适用Executor框架来创建线程池 实现了Runnable接口这种方式更受欢迎,因为这不需要继承Threa ...

  9. 水仙花数python代码多种方式_水仙花数的三种解决方法(Python实现)

    先来了解一下什么是水仙花数.水仙花数是这样一个三位数:它的个位数.十位数.百位数的三次方之和,等于它自身.例如,153就是一个水仙花数,因为153=1^3+5^3+3^3.470也是一个水仙花数,因为 ...

最新文章

  1. docker中命令docker images
  2. NVLink技术及影响解析
  3. python连接impala_python连接impala(安装impyla)
  4. 【Flink】Flink SQL 自定义 Source format
  5. 2013吉林通化邀请赛 1004 D-City 并查集求连通分支数
  6. 误入 GitHub 游戏区,意外地收获颇丰
  7. 电偶极子的MATLAB场模拟
  8. Java实习生常规技术面试题每日十题Java基础(五)
  9. 从事互联网经营就要办理icp许可证吗
  10. AMD phenom(翼龙) x4 955 黑苹果(El Capital 10.11.6)安装成功记录
  11. 读书笔记《游戏改变世界》
  12. medium_socnet靶场
  13. 印度狂妄,华为和中兴在印度5G设备市场面临不确定性,三星却已占领市场
  14. Zigbee CC2530 单片机存储 IAR查看内存
  15. leetcode2021年度刷题分类型总结(八)贪心 (python)
  16. html---网上书城案例
  17. 精通吉他弹唱——使用节奏变化弹好chord谱
  18. 智慧客服,为保险服务强力打call
  19. Windows的密码生成算法——NTLM算法破解
  20. springcloud框架下采用Grpc实现远程过程调用

热门文章

  1. JBPM4.4总结-嵌入自己的用户体系(集成自定义用户表)
  2. [JavaScript] promise中.then()方法
  3. 使用【Linux操作系统】必须掌握的基本命令
  4. 7-5 精准运动 (10 分)
  5. 7-181 最长连续递增子序列 (20 分)
  6. mysql单表操作_mysql单表操作
  7. 插值法补齐缺失数据_数据挖掘非常重要的一步:数据预处理
  8. C++学习 ---- 系列文章
  9. ubuntu 18.04使用sysbench测试MySQL性能
  10. Spring07----Bean的作用域