一、接入层的负载均衡
- 利用nginx的反向代理来实现站点层web-server的负载均衡,负载均衡算法有:随机,轮询,静态权重,一致性hash等。
- 接入层的负载均衡实现是依赖于LVS的负载均衡(操作系统级别,比nginx应用层性能更好)
- 使用F5(硬件级别,性能比LVS更好)
二、接入层的高可用
- 不管使用LVS,还是F5,虽然性能比nginx好很多,但是依然存在单点问题。需要通过keepalived + VIP 来保证高可用
三、接入层的扩容
- 虽然现在实现了高可用,负载均衡,但是还是受限于一台LVS或者一台F5的性能。如果有更多的请求进来怎么办,答案就是用DNS轮询实现水平扩展。
四、怎么提高利用率
VIP + keepalived的方式只有50%的利用率,怎么提高利用率呢?答案就是双虚IP+dns轮询的方式。
- 10.58.0.1这个虚IP是A机器为主,B机器为备
- 10.58.0.2这个虚IP是B机器为主,A机器为备
- DNS轮询这两个虚IP
- 这样机器就100%的利用率了,如果A机器出问题, 则10.58.0.1会提出A机器,并把流量切到B机器;而10.58.0.2则依然保持为B机器即可。
五、参考
Refer: https://www.cnblogs.com/codeon/p/7344287.html