优点(性能和功能两方面分析) 缺点
lvs 工作在4层,可以对http,MySQL等服务负载均衡。负责流量的分发,对io,cpu,mem的消耗少 功能比较少,没有正则匹配的功能
nginx 工作在7层,有正则匹配等功能,动静分离,支持的模块比较多 只能对http,https等服务负载均衡
haproxy 工作在4,7层,设置session,cookie等功能,动静分离,能对MySQL等服务做负载均衡,能做URL的健康检查 日志得另外看
性能: lvs > haproxy > nginx
功能:haproxy > nginx > lvs
需要细粒度的配置,就用haproxy;
需要正则表达式的用nginx;
只需要流量分发,就用lvs;
参考:https://blog.51cto.com/13587169/2092689 http://www.ha97.com/5646.html
max_fails=1
fail_timeout=10s
Nginx基于连接探测,如果发现后端异常,在单位周期为fail_timeout设置的时间,中达到max_fails次数,这个周期次数内,如果后端同一个节点不可用,那么接将把节点标记为不可用,并等待下一个周期(同样时常为fail_timeout)再一次去请求,判断是否连接是否成功。
用一个例子来演示会更加清晰