Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
前言
早期的业务都是基于单体节点部署,由于前期访问流量不大,因此单体结构也可满足需求,但随着业务增长,流量也越来越大,那么最终单台服务器受到的访问压力也会逐步增高。时间一长,单台服务器性能无法跟上业务增长,就会造成线上频繁宕机的现象发生,最终导致系统瘫痪无法继续处理用户的请求。从上面的描述中,主要存在两个问题:① 单体结构的部署方式无法承载日益增长的业务流量。② 当后端节点宕机后,整个系统会陷入瘫痪,导致整个项目不可用。因此在这种背景下,引入负载均衡技术可带来的收益:
- 系统的高可用:当某个节点宕机后可以迅速将流量转移至其他节点。
- 系统的高性能:多台服务器共同对外提供服务,为整个系统提供了更高规模的吞吐。
- 系统的拓展性:当业务再次出现增长或萎靡时,可再加入/减少节点,灵活伸缩。
既然引入负载均衡技术可给我们带来如此巨大的好处,那么又有那些方案可供选择呢?主要有两种负载方案,硬件层面与软件层面,比较常用的硬件负载器有 A10、F5 等,但这些机器动辄大几万乃至几十万的成本,因此一般大型企业会采用该方案,如银行、国企、央企等。而成本有限,但依旧想做负载均衡的项目,那么可在软件层面实现,如典型的 Nginx 等,软件层的负载也是本文的重点,毕竟原则就是:能靠技术实现的就尽量不花钱。