负载均衡器个人总结

背景:在分布式的环境下,由于单台服务能力有限,无法满足大并发量的业务,促使了负载均衡器的出现,目前市面上用的比较多的有LVS、Nginx、Haproxy,对比如下

负载均衡比较
类型介绍优点缺点
LVSlinux virtual Server,linux虚拟主机,在linux内核2.4之后都已支持lvs模块,无需单独安装即可使用lvs搭建负载集群1、工作在4层,可负载大多数应用协议:http应用、mysql等等
2、对内存cpu消耗低,本身不消耗流量,抗负载能力高
3、对网络依赖高,可靠性高

1、不支持正则表达式

2、不支持动静分离

3、不支持域名重写与转发

Nginx在应用层协议的负载均衡器,1.9版本之前仅可代理http\https以及邮件协议的负载均衡,1.9版本之后引入stream模块,可代理四层tcp\udp端口1、支持正则表达式,对大多数应用的uri进行正则匹配,支持域名重写以及转发
2、支持动静分离以及页面缓存
3、对网络依赖较小,安装配置简单
1、支持的应用协议较少,不支持session会话保持,只能通过ip_hash策略解决
2、后端服务健康检查不支持指定url方式,只能通过端口方式
3、配置较为复杂
Haproxy支持四层和七层的负载均衡,工作在虚拟主机,性能高于nginx,配置简单1、支持指定特定的url对后端服务健康检查
2、负载均衡策略多,支持基于cookie的负载解决会话保持

1、不支持web缓存

2、不支持lua脚本集成

 

nginx(engine-x)厂商对比
厂家介绍优点缺点
原生nginx俄罗斯人伊戈尔塞索耶夫发明,一款单线程、高性能的HTTP和反向代理web代理服务器自身小巧、高性能、安装简单对一些常用模块支持欠缺,需要单独安装编译扩展模块 tengin nginx衍生版本
Tengin由阿里开发维护,提供了大量内置模块,用于服务高并发,适合自身业务的场景,同时支持了一些高级特性

1、支持输入过滤器入机制,实现web应用防火墙更为方便;支持动态脚本语言lua;支持组合多个css\js文件的访问请求变成一个请求;自动去除空白字符和注释等,

2、支持一些常用模块:正向代理,健康检查,通过cookie实现的会话保持负载均衡模块,限制访问模块等

因自身集成过多扩展功能与模块,在某些大并发场景中,性能略逊于原生nginx
openrestynginx衍生版本,有章亦春发明,将luaVM嵌入在nginx各个worker进程中,通过lua脚本语言小巧强大的web支持能力,将nginx变成一个强大的web应用平台

1、支持多个常用lua模块和类库,可以更快速方便的使用lua语言对nginx功能扩展,如更灵活的健康检查、请求限速等,

2、自身支持resty命令方便对lua代码的调试

相比tengin来说支持的高级特性略见一斑

1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值