由于互联网技术的发展,网络数据的请求数节节攀升,这使得服务器承受的压力越来越大。在早期的系统架构中,通常使用负载均衡来将网络流量平摊到多个服务器中,以此减轻单台服务器的压力。但是现如今,后端服务的种类在不断地变多,每个种类的后端都以 API 的形式对外暴露,这使得 API 的数量也在不断变多。以传统的 负载均衡为主的系统架构的局限性就变得明显起来,因为它主要工作在四层,在七层上功能较弱,于是一款主要工作在七层且具有丰富扩展能力的基础设施便应运而生,它就是 API 网关。
在本文中,我们将介绍负载均衡和 API 网关的功能特点,并探讨它们之间的区别,帮助读者更好地了解这两者之间的关系。
一、什么是负载均衡(Load Balancer)
负载均衡的主要作用是为多个后端服务提供负载均衡功能,依据不同的负载均衡算法让这些服务可以分摊流量。负载均衡的历史非常悠久,从演进路径上看大致可以分为以下这几个阶段:
-
第一阶段:这一阶段的负载均衡通常由硬件设备组成,具有高性能、高可靠性的特点,但灵活性较差,价格昂贵。比较典型的是 F5 这种基于硬件的负载均衡。
-
第二阶段:负载均衡开始以软件形式实现,使其更加灵活和可扩展,通常以软件分发的形式出现,因此价格也比较低廉,比如 LVS 就属于这一类。</