高可用代理层方案
一、简介
7层负载均衡是通过http协议做。
4层负载均衡是通过tcp协议加端口号做负载均衡。
二、HAProxy
HAProxy主要做7层负载均衡,4层负载均衡也可以做。
Apache也可以做7层负载均衡,但是很麻烦,实际工作中没人使用。
2.1、概述
HAProxy是一款高性能的负载均衡软件。免费,因为其专注于负载均衡,因此比在负载均衡上面Nginx做的更好,更专业。
单机QPS 10w/s
2.2、特点
HAProxy是目前流行的负载均衡软件,必须有出色的一面。
HAProxy相对于LVS,Nginx等负载均衡软件的优点:
- 支持TCP/HTTP两种协议层的负载均衡,功能更加丰富;
- 支持8种左右负载均衡算法。特别是在http模式下,有许多非常实用的负载均衡算法;
- 性能优越,基于单进程处理模式(与Nginx类似)让其性能卓越;
- 有丰富的监控页面;
- 功能强大的ACL支持。
三、Keepalived
3.1、概述
Keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。
3.2、工作原理
以VRRP协议(虚拟路由冗余协议。云服务器不支持VRRP)为基础。
虚拟路由冗余协议,可以认为是实现高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。