众所周知 在我们传统的运维里,给服务器负载均衡 传统的有DNS轮询,应用最广泛的当然是LVS/Nginx/Haproxy这些二层四层七层的负载均衡
据我所知,阿里云SLB 的核心架构就是使用的LVS+Tengine(淘宝基于Nginx二次开发的web软件 ,博主做过俩款软件测评,感觉只是针对速度来讲没有什么提升),它继承了俩款软件的许多特点,并且呢在俩款软件的基础上又增加了许多功能,简单的介绍下SLB的特点:
1,四层及七层协议 包括TCP/IP https http
2,自定义端口,每个服务监听前端的端口不能重复,后端可以采用统一端口,但是前后端必须采用同一协议进行通信
3,支持健康检查 会话保持 加权轮询 加权最小连接数等(是不是发现LVS的功能~~~)
4,权重越高分配到访问请求的ECS请求越多
5,据说阿里在SLB的架构上 做了一很大的集群,所以也兼具着ddos攻击的特性
6,当你使用的是TCP方式监听的话,可以使用TCP和http俩种方式进行健康检查,相反 使用HTTP呢只支持HTTP方式健康检查
7,告诉你们个小秘密,如果你要使用SLB+ECS的话,在同一个ZONE的话(地域,阿里专业名词~),无需在ECS配置公网IP了,因为同一ZONE下SLB+ECS的内网是互通的哦,
8,slb的API地址在slb.aliyuncs.com
等等等等。。。 更多SLB相关的介绍 请查找大成的 SLB精简介绍
最后介绍一个 单台SLB+单台ECS的场景,对,你没有看错 单台ECS 为什么要这样做呢
单台ECS采用SLB的场景分析
我们初始配置ECS时默认的网络是固定带宽的(例如初始创建5M带宽),随着业务的发展,且网站有明显的峰值和峰谷,这样继续升级带宽会造成浪费。阿里云支持续费降配方式去修改网络计费方式,但是需要等到下个计费周期。在这种情况下最简单的最快速做法就是开通SLB ,通过SLB来实现带宽的扩展, SLB默认采用的就是按流量计费的方式, SLB作为前端服务,后端连接ECS即可。这样做还方便后期通过增加ECS来实现多台ECS的负载
所以呢最主要是 在流量不波动状态下 不中断你的服务!
总结下:用最高效简便的方法解决棘手的问题,就是高手中的高手!!
如果您的业务场景也是这样的(网站访问平时流量不高,基本带宽够用,但是有明显的峰谷时,却不能流畅访问) 不妨考虑在前端加上一个SLB。