一些问题
什么是F5
负载均衡硬件设备。F5也是个公司名;
4层负载和7层负载均衡?
四层和七层的划分:根据负载均衡所作用在 OSI 模型的位置不同来划分
- 四层负载均衡:tcp:在三层负载均衡的基础上,用ip+port接收请求,再转发到对应的机器。
- 七层负载均衡(http):根据虚拟的url或IP,主机名接收请求,再转向相应的处理服务器。
LVS?
Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。LVS:使用Linux内核集群实现一个高性能、高可用的负载均衡服务器,
如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。
负载均衡算法
分类:
- 任务平分:无脑平均分(如轮询)
- 负载均衡:根据系统负载来
- 性能最优:先分配给最快的响应时间的机器
- hash:根据一定的ID:seesion ID / userID
案例
微信红包的并发架构,应该采用什么样的负载均衡?
主要两个历程:发红包 和 抢红包
- 发红包:往DB插一条红包记录;
- 抢红包:插入一条秒杀流水并更新库存
发红包:直接轮询算法达到服务器就好了;
抢红包:按红包ID hash到同一台机器,所有抢请求放入先进先出队列,保证先来的先得,后来的后得