系统的扩展可分为纵向(垂直)扩展和横向(水平)扩展。
纵向扩展,是从单机的角度通过增加硬件处理能力,比如CPU处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升,不能满足大型分布式系统(网站),大流量,高并发,海量数据的问题。
横向扩展,通过添加机器来满足大型网站服务的处理能力。比如:一台机器不能满足,则增加两台或者多台机器,共同承担访问压力。这就是典型的集群和负载均衡架构。
应用集群,将同一应用部署到多台机器上,组成处理集群,接收负载均衡设备分发的请求处理,并返回相应数据。
负载均衡设备,将用户访问的请求,根据负载均衡算法,分发到集群中的一台处理服务器。
负载均衡作用
- 解决并发压力,提高吞吐量。
- 提供故障转移,检测下游服务器状态,实现高可用。
- 利于横向扩展服务器。
- 安全防护,负载均衡设备上做一些过滤,黑白名单等处理。
负载均衡种类
常用的负载均衡种类:DNS、硬件F5或A10、LVS、Nginx。
DNS
最早的负载均衡技术,利用域名解析实现负载均衡,在DNS服务器,配置多个A记录,这些A记录对应的服务器构成集群。大型网站总是部分使用DNS解析,作为第一级负载均衡。
优点
1. 使用简单:负载均衡工作,交给DNS服务器处理,省掉了负载均衡服务器维护的麻烦。
2. 提高性能:可以支持基于地址的域名解析,解析成距离用户最近的服务器地址,可以加快访问速度,改善性能。
缺点
1. 可用性差:DNS解析是多级解析,新增/修改DNS后,解析时间较长;解析过程中,用户访问网站将失败。
2. 扩展性低:DNS负载均衡的控制权在域名商那里,无法对其做更多的改善和扩展。
3. 维护性差:也不能反映服务器的当前运行状态;支持的算法少;不能区分服务器的差异(不能根据系统与服务的状态来判断负载)。
4. 更新不及时:DNS缓存可能会保留较长时间。
使用建议

本文详细探讨了系统扩展的两种方式——纵向和横向,重点介绍了负载均衡在解决高并发、高可用性和安全性的角色,以及DNS、硬件F5/A10、LVS和Nginx等不同类型的负载均衡器的特点和应用场景。提出了多级负载均衡的概念,包括DNS作为第一级,硬件设备作为第二级,LVS和Nginx作为后续层次的解决方案。
最低0.47元/天 解锁文章
573






