网站首页 > 技术文章 正文
其实在工作当中,负载均衡这个名字我们耳熟能详,无论是链路级负载还是服务器级负载,实现这些功能的都统归为负载均衡设备,例如:F5、Netscaler、Nginx、LVS等,那么今天的文章围绕几个点来展开讲解阿里云的负载均衡产品(SLB)。
什么是负载均衡(Server Load Balancer)?
官话:将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。负载均衡扩展了应用的服务能力,增强了应用的可用性。
简短总结:将流量转向你想要的转到的一组服务器或者单台服务器上。
负载均衡的构成?
监听器(Listeners):监听后端服务器端口,同时对外提供访问端口(两者端口可以不同)
后端服务器(Backend Servers):接收负载均衡转发的访问请求的单台或一组服务器。
产品优势
- 高可用,SLA三个9
- 扩展性强,随时增加或者减少后端服务器数量
- 高并发,官方给出支持亿级并发(这个咱也没这么大访问量,无从得知,囧)
其他的我觉得不算优势,例如成本,这个是因业务而异
产品架构
链路层采用LVS(Linux Virtual Server)+Keepalived的方式实现。
应用层采用Tengine实现。(Tengine是淘宝在Nginx的基础上针对高并发增加、优化了一些功能)
流量访问图
主要功能特性
- 调度算法:目前支持轮询、加权轮询(WRR)、加权最小连接数(WLC)和一致性哈希(CH)
- 健康检查:无代答功能,当健康检查失败,业务出现异常
- 会话保持:在会话的生命周期内,可以将同一客户端的请求转发到同一台后端服务器上。
- 访问控制:支持白名单功能
- 域名URL转发:支持配置域名和URL转发规则,可以将来自不同域名和URL的请求转发到不同的后端服务器上。
- 重定向:支持HTTP访问重定向至HTTPS。
- HTTP/2支持
使用注意点
- 采用私网SLB,只能添加同网段的ECS,无法跨网段添加,公网SLB无限制
- 私网SLB访问外网需要申请绑定EIP,才能访问外网
- 健康检查未通过,业务此时为异常,如果为HTTP/HTTPS业务需要和业务人员核对检查路径是否正确,否则业务无法生效
- 目前支持TCP、HTTP、HTTPS三种模式的负载
- 有需要制定不同的监听后端的同一接口,请采用虚拟服务器组,例如,监听1对应后端接口80,监听2对应后端接口80
写在最后
好的最佳实践一定是基于你的业务场景不断的磨合才能够给出,每个企业环境的不同,导致参数的设置不同,文章不可能以偏概全,而是了解,再去大量的实践,得出适合你的方案。
(实战会放在视频里)
- 上一篇: 一文理解分布式开发中的服务治理
- 下一篇: 一次 Keepalived 高可用的事故,让我重学了一遍它
猜你喜欢
- 2025-01-06 对高可用集群构建的思考
- 2025-01-06 微服务、集群、分布式的区别是什么?
- 2025-01-06 浅聊高可用技术在网络中的应用
- 2025-01-06 高可用、负载均衡 集群部署方案:Keepalived + Nginx + Tomcat
- 2025-01-06 负载均衡,他用一篇文章告诉你(万字分析)
- 2025-01-06 高并发之负载均衡
- 2025-01-06 有软件负载均衡,也有硬件负载均衡,选择哪个?
- 2025-01-06 使用MySQL Router实现高可用、负载均衡、读写分离
- 2025-01-06 四七层负载均衡的区别
- 2025-01-06 一次 Keepalived 高可用的事故,让我重学了一遍它
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)