负载均衡

365 阅读2分钟

1、定义

负载均衡:将请求、数据分摊到多个单元上执行

2、常见负载均衡方案

常见负载均衡方案
1)客户端层到反向代理层负载均衡,通过DNS轮询实现 2)反向代理层到站点层,通过Nginx实现 3)站点层到服务层,通过服务连接池实现 4)数据层的负载均衡,常见的有水平切分和垂直切分

3、接入层性能演进:

【单机架构】

单机架构
缺点: 1)非高可用性 2)扩展性差,无法扩容

【简易扩容方案(1)DNS轮询】

DNS轮询
优点: 1)成本低,在DNS-Server上配几个IP即可 2)部署简单 3)负载均衡

缺点: 1)非高可用性,DNS无法保证域名解析到的IP是可用的 2)扩容非实时,DNS解析有一个生效周期 3)暴露了太多外网IP

【简易扩容方案(2)nginx】 tomcat性能较差,但nginx作为反向代理性能强很多,可以利用nginx进行扩容

Nginx反向代理

优点: 1)DNS不需要动 2)负载均衡,通过Nginx保证 3)只暴露一个外网IP 4)扩容实时 5)能够保证站点层的可靠性

缺点: 1)架构变复杂了 2)反向代理层成了单点,非高可用

【高可用方案(3)keepalived】 为了解决上面方案nginx单点故障,反向代理层加入keepalived,保证高可用性

Keepalived高可用
优点: 1)解决了上述方案中高可用性

缺点: 1)资源利用率只有50% 2)nginx接入仍然是单点,无法提高nginx的吞吐量

【scale up扩容方案(4)lvs/f5】 Lvs/f5作用于四层协议,性能比nginx更好,可以利用lvs/f5扩容nginx

四层水平扩容

【scale out扩容(5)DNS轮询】 通过DNS轮询扩容LVS

参考:www.w3cschool.cn/architectro…