一些问题

什么是F5

负载均衡硬件设备。F5也是个公司名;

4层负载和7层负载均衡?

四层和七层的划分:根据负载均衡所作用在 OSI 模型的位置不同来划分

  • 四层负载均衡:tcp:在三层负载均衡的基础上,用ip+port接收请求,再转发到对应的机器。
  • 七层负载均衡(http):根据虚拟的url或IP,主机名接收请求,再转向相应的处理服务器。

https://www.jianshu.com/p/fa937b8e6712

LVS?

Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件。LVS:使用Linux内核集群实现一个高性能、高可用的负载均衡服务器,

如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的;大型网站或重要的服务,且服务器比较多时,可以考虑用LVS。

负载均衡算法

分类:

  • 任务平分:无脑平均分(如轮询)
  • 负载均衡:根据系统负载来
  • 性能最优:先分配给最快的响应时间的机器
  • hash:根据一定的ID:seesion ID / userID

案例

微信红包的并发架构,应该采用什么样的负载均衡?

主要两个历程:发红包 和 抢红包

  • 发红包:往DB插一条红包记录;
  • 抢红包:插入一条秒杀流水并更新库存

发红包:直接轮询算法达到服务器就好了;
抢红包:按红包ID hash到同一台机器,所有抢请求放入先进先出队列,保证先来的先得,后来的后得