OSI七层模型包括:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
OSI七层模型 服务器-交换机-服务器 传输模型
负载均衡的解释:
- 第一种:将大量的并发处理转发给后端多个节点处理,减少工作响应时间。
- 第二种:将单个繁重的工作转发给后端多个节点处理,处理完再返回给负载均衡中心,再返回给用户
负载均衡的分类(根据OSI模型):
- 二层负载均衡:一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应
- 三层负载均衡:一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的IP地址响应
- 四层负载均衡:在三次负载均衡的基础上,用 ip+port 接收请求,再转发到对应的机器
- 七层负载均衡:根据虚拟的url或是IP,主机名接收请求,再转向相应的处理服务器
不同类型的优缺点:
- 智能性:
- 七层负载均衡由于具备OIS七层的所有功能,所以在处理用户需求上能更加灵活,从理论上讲,七层模型能对用户的所有跟服务端的请求进行修改。例如对文件header添加信息,根据不同的文件类型进行分类转发。
- 四层模型仅支持基于网络层的需求转发,不能修改用户请求的内容;
- 安全性:
- 七层负载均衡由于具有OSI模型的全部功能,能更容易抵御来自网络的***;
- 四层模型从原理上讲,会直接将用户的请求转发给后端节点,无法直接抵御网络***。
- 复杂度:
- 四层模型一般比较简单的架构,容易管理,容易定位问题;
- 七层模型架构比较复杂,通常也需要考虑结合四层模型的混用情况,出现问题定位比较复杂。
- 效率比:
- 四层模型基于更底层的设置,通常效率更高,但应用范围有限;
- 七层模型需要更多的资源损耗,在理论上讲比四层模型有更强的功能,现在的实现更多是基于http应用;
负载均衡的解决方案:
- 硬件:利用负载均衡器,通常是一个独立于系统的硬件。有的负载均衡器集成在路由,交换机中,有的利用双网卡,一个网卡对外接收请求,一个网卡连接到内部的处理服务器群上。
- 软件:通过在服务器安装一个或多个具备负载均衡功能的软件来实现,例如 Keepalive+ipvs,DNS Load Balance等。
四层交换机(CISCO WS-C6509-E)
不同方案的优缺点:
- 软件:
- 优点:需求环境明确,配置简单,操作灵活,成本低廉,效率不高,能满足普通的企业需求
- 缺点:依赖于系统,增加资源开销;软件的优劣决定环境的性能;系统的安全,软件的稳定性均会影响到整个环境的安全
- 硬件:
- 优点:独立于系统,整体性能大量提升,通常比软件方式优秀;智能的流量管理,多种策略可选,能达到最佳的负载均衡效果
- 缺点:价格昂贵;
负载均衡算法:
- 轮询(Round Robin,rr):
- 将所有节点组成一个队列,对网络的请求轮流转发给后端节点。
- 适合硬件,软件环境配置差不多的情况
- 按权重轮询(Weighted Round Robin):
- 对机器设置不同的权重,权重高的处理更多的请求。
- 节点的硬件配置有不同的区别,可以对性能优秀的节点分配更多的处理任务
- 随机:(Randon):
- 将来自网络的请求随机发送给后端服务节点
- 适合硬件,软件环境配置差不多的情况
- 权重随机(weighted Randon):
- 权重高的节点会承担更多的业务,但分配同样权重节点时以随机的方式进行;
- 节点的硬件配置有不同的区别,可以对性能优秀的节点分配更多的处理任务
- 响应速度(Response Time):
- 负载均衡器对内部节点发出一个探测信号,然后根据探测返回结果选择响应节点,探测结果仅是表明内部节点与负载均衡器间的网络状况,不代表用户跟响应节点的网络状况。
- 适用服务器区域同负载均衡器在同个地域的情况
- 最少连接(Last Connection):
- 负载均衡器会记录每个后端节点对用户的连接数,选择最少的连接数进行响应。
- 使用多是长连接的情况,例如下载,大文件传输等
- DNS均衡:
- 用户根据最新dns解析到的节点进行响应
- 各种情况都是适合,一般在域名服务器上做以域名为主的解析
负载均衡的检测方式
- ping检测:负载均衡中心通过ping内部节点,判断内部节点的存活状况
- tcp检测:负载均衡中心通过tcp连接内部节点的某个端口,来判断内部节点的状况
- url检测:负载均衡中心通过请求内部节点的某个页面,根据页面判断内部节点的状况
转载于:https://blog.51cto.com/arlen/1242385