一、定义
负载均衡是通过多台服务器共同分担服务请求的方式,使得整个系统的服务能力得到提升。本质上就是需要一个流量调度器,通过均衡的算法,将用户大量的请求流量均衡地分发到集群中不同的服务器上。
负载均衡有两种类型:硬件负载均衡和软件负载均衡。
硬件负载均衡器是一种物理设备,由专业的厂商生产,它的优点是功能强大、性能强大、稳定性高、安全防护等,缺点是扩展性差、调试和维护比较麻烦,需要专业人员。常见的硬件负载均衡器有比较昂贵的F5和Array等商用的负载均衡器。
软件负载均衡是通过软件手段实现的负载均衡,它的优点是易操作、便宜、灵活,可以根据业务特点进行选择,方便进行扩展和定制功能。软件负载均衡可以分为4层和7层负载均衡,可以根据业务特点进行选择。4层负载均衡主要是基于IP地址和端口号进行负载均衡,7层负载均衡则是基于应用层协议进行负载均衡,例如HTTP、FTP和SMTP等。
二、实现方式
软件负载均衡的实现方式包括四层负载均衡和七层负载均衡。
四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。
七层负载均衡是工作在OSI模型的应用层,可以通过检测HTTP请求报文中的URI、Host等信息,将流量转发到不同的应用服务器。