负载均衡概述

负载均衡(Load Balance)在不同的领域有不同的概念。其基本概念是为了减轻某个或某些实体的负载,将任务通过某种策略分配到多个实体上去,实现负载在不同实体间的平衡。
负载均衡,意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的有效方案。

负载均衡分类

  • 二层负载均衡:是通过一个虚拟 MAC 地址接收请求,然后再分配到真实的 MAC 地址
  • 三层负载均衡:是通过一个虚拟IP地址,然后再分配到真实的IP。
  • 四层负载均衡:是通过虚机的IP+端口接收请求,然后再分配到真实的服务器;
  • 七层负载均衡:是通过虚机主机名或者URL接收请求,再根据一些规则分配到真实的服务器,常见的应用是nginx。
    在这里插入图片描述

四层负载与七层负载

四层负载均衡本质是转发,而七层负载本质是内容交换和代理。

实现负载均衡工具

实现四层负载软件(硬件)有:F5、LVS、HAProxy、Nginx
实现七层负载软件有:HAProxy、Nginx、MySQL Proxy

Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。

  • LVS
    LVS(Linux Virtual Server),也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目。使用LVS技术要达到的目标是:使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。LVS主要用来做四层负载均衡。
  • Nginx
    Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。Nginx主要用来做七层负载均衡。
  • HAProxy
    HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy主要用来做七层负载均衡。

负载均衡算法

静态负载均衡算法
轮询(Round Robin):服务器按照顺序循环接受请求。
随机(Random):随机选择一台服务器接受请求。
权重(Weight):给每个服务器分配一个权重值,根据权重来分发请求到不同的机器中。
IP哈希(IP Hash):根据客户端IP计算Hash值取模访问对应服务器。
URL哈希(URL Hash):根据请求的URL地址计算Hash值取模访问对应服务器。
一致性哈希(Consistent Hash ):采用一致性Hash算法,相同IP或URL请求总是发送到同一服务器。

动态负载均衡算法
最少连接数(Least Connection):将请求分配给最少连接处理的服务器。
最快响应(Fastest Response):将请求分配给响应时间最快的服务器。
观察(Observed):以连接数和响应时间的平衡为依据请求服务器。
预测(Predictive):收集分析当前服务器性能指标,预测下个时间段内性能最佳服务器。
动态性能分配(Dynamic Ratio-APM):收集服务器各项性能参数,动态调整流量分配。
服务质量(QoS):根据服务质量选择服务器。
服务类型(ToS): 根据服务类型选择服务器。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值