负载均衡,英文名Load Balance,作用是将操作分摊到多个执行单元上执行。随着如今网络流量的不断增大,服务的负载均衡是必须的,这里就来讲一讲负载均衡的结构。
       说到负载均衡,同学最容易想到的可能就是nginx了,但是nginx只是其中的一层,而负载均衡从我们发送一个请求时可能就开始了,下面是一个负载均衡流程:

从用户发起一个请求,从DNS分流,到中间的反向代理,再到应用服务的分流等,经历了一层有一层,达到了服务水平拓展的目的,以应对目前庞大的数据流量。

1.DNS分流

DNS功能即指域名系统,在万维网中,我们访问他人服务,即是访问他人ip,但是ip不便于记忆,此时域名系统就出现了。通过域名与ip的相互映射,我们可以不用记忆ip,而是通过域名去访问目标服务,而DNS系统即是一个域名与ip地址相互映射的分布式数据库,我们访问域名是,经历了以下步骤:

域名与ip之间有映射关系,但是大多数情况下却不是一一对应的,我们可以将多个ip映射到同一个域名,因为用户是通过域名去进行访问的,具体访问哪个地址,则有DNS服务器的映射记录和一定的负载均衡算法来决定,用户拿到具体ip后再去访问,而这个过程对用户来说完全是透明的,通过DNS分流完成了第一步的负载均衡:

2.硬件分流

通过硬件设备,在网络流量进入服务之前进行流量的分流,通过各种策略,分散到不同的服务器。常见的如F5负载均衡器。

3.四层负载

四层负载主要是指OSI七层模型中,工作在第四次tcp层的负载均衡,主要是通过修改报文中的目标地址和端口,再加上一定的负载均衡策略,选择最终处理的服务器,如lvs。由此可以想到,其实还有二层负载和三层负载,通过虚拟mac地址或者虚拟ip地址来接收请求然后再分流到真实的mac地址或者ip地址。这几种负载方式都是不关心具体的上层协议,只负责修改数据的流向。

4.七层负载

七层负载也称“内容负载”,是根据具体的应用层内容,更加智能的选择具体内部服务。如更具请求的url信息等,选择具体的应用服务器来进行相应处理,如nginx。

5.客户端分流

前面的负载均衡除了DNS以外,都有一个点来分发具体的流量,我们称为服务器分流。当用户请求到达了真正的应用服务器以后,请求还会细分,而同一类的请求的服务可能还是集群,例如如今的微服务架构。这时可以使用应用框架来完成服务请求的分流,如dubbo以及springCloud的Ribbon组件等,这些由服务自己决定的分流方式称为客户端分流。

6.数据层分流

在应用服务器的背后,是数据层,各种缓存以及持久化数据库等。对于到达数据层的请求,我们也可以进行相应的负载均衡处理,如redis的主从读写分

离集群、分片集群等,mysql的主从读写、分区分表分库等。

【End】

推荐阅读:

Java 最常见的 200+ 面试题

关注下方二维码,订阅更多精彩内容。

转发朋友圈,是对我最大的支持。

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

  1. 负载均衡常用的几种方式

    一.HTTP重定向         HTTP重定向服务器就是一个普通的服务器,当用户访问时,其会根据一定的算法得到服务器集群的一个真实服务器的IP地址,将其放在HTTP响应头中,响应状态码为(302) ...

  2. Nginx服务器之负载均衡策略(6种)

    一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器. 二.Nginx负载均衡策略 负载均 ...

  3. 实现服务器负载均衡常见的四种技术

    为了提高服务器的性能和工作负载能力,企业通常会使用DNS服务器.网络地址转换等技术来实现多服务器负载均衡,特别是目前企业对外的互联网Web网站,许多都是通过几台服务器来完成服务器访问的负载均衡. 目前 ...

  4. 【Nginx】Nginx服务器之负载均衡策略(6种)

    一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器. 二.Nginx负载均衡策略 负载均 ...

  5. 负载均衡方案的三种实现策略

    早期的互联网应用,由于用户流量比较小,业务逻辑也比较简单,往往一个单服务器就能满足负载需求.随着现在互联网的流量越来越大,稍微好一点的系统,访问量就非常大了,并且系统功能也越来越复杂,那么单台服务器就 ...

  6. nginx负载均衡配置的几种策略

    nginx的upstream目前支持4种方式的分配 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight ...

  7. IPVS -三种IP负载均衡技术与八种调度算法

    三种IP负载均衡技术        在调度器的实现技术中,IP负载均衡技术是效率最高的.在已有的IP负载均衡技术中有通过网络地址转换(Network Address Translation)将一组服务 ...

  8. 负载均衡是什么?部署方式和工作原理

    当我们刚开始用云服务器搭建网站或者部署应用的时候,因为用户流量较小,业务逻辑比较简单,一个云服务器就可以满足负载需求.但随着互联网流量越来越大,单台服务器有时候并不足以支撑大量的访问,可能会出现服务器 ...

  9. 负载均衡的常见几种算法

    负载均衡的几种算法 轮询 加权轮询 随机 加权随机 IP Hash URL Hash 一致性Hash 特点 其他: 最小连接 最小时延等 Nginx支持 轮询 每次的请求到达时,对每个服务器都轮询访问 ...

最新文章

  1. 安装ubuntu20.4+gtx1050+cuda11.3
  2. ZkServer服务启动的逻辑-NIOServerCnxnFactory.start
  3. CodeForces - 1484D Playlist(循环链表+bfs)
  4. 『ACM-算法-离散化』信息竞赛进阶指南--离散化
  5. AxureRP9不同Page使用同一个Master,触发不同事件。
  6. perl 中部分正则表达式中匹配非空字符和正常使用字符
  7. MySQL 高可用架构在业务层面细化分析研究
  8. Javascript堆排序
  9. java servlet 学习_java学习之web基础(1):Servlet
  10. C语言 scanf函数
  11. Android View框架总结(二)View焦点
  12. mysql临时表多线程时能用吗_学会使用临时表优化,切记不要乱用临时表(记录一)...
  13. 光载无线(RoF, Radio over Fiber)通信技术
  14. 计算机硬件工程师主要干什么,计算机硬件工程师主要学习什么内容
  15. WPF 做的天干地支 乾坤八卦时钟表盘 可以设置24小时制
  16. 一:使用FreeIPA安装Kerberos和LDAP( IPA-Client安装)
  17. 2017年12月19-20日 阿里云 飞天/智能 云栖大会-北京峰会 会议笔记
  18. 搜狐CEO张朝阳:不想把成功交给一种可能
  19. 阿里云的ECS服务器1M宽带等于多少入网kbps和出网kbps
  20. com组件 的劫持_IE首页被劫持跳转问题的解决方案

热门文章

  1. mysql备份服务器中的_使用 Shell 备份远程服务器上的 MySQL 数据库到本机
  2. 多学一招总没错吧?MP通用枚举轻松实现存储显示相分离
  3. 消息队列-Message Queue
  4. Epson C1100报错“Service Req E511”的处理方法
  5. 极验验证码流程-3.图片加密处理 图片移位
  6. 关于 java 实现 语音朗读
  7. VMware vCloud® Suite 5.5功能介绍
  8. asp.net网页中导出EXCEL,WORD的环境设置验证实例
  9. bitcount java_java-Long.bitCount()如何找到设置的位数?
  10. Mybatis源码阅读(一):Mybatis初始化1.1 解析properties、settings