什么是 API 网关?3 分钟给你讲明白。每当我们提到 API 网关时,总是会涉及到很多专业名词,如负载均衡、反向代理、限流、限速、身份认证、可观测性等等。对于后端工程师来说,这些可能较容易理解,但对于前端工程师或没有工程师背景的人来说,这实际上是一个难以理解的概念。那么有没有一种简单的方式,在两三分钟内,向完全没有技术背景的人介绍 API 网关这个概念,并使其能够听明白呢?实际上是有的。
我们来举两个现实中的例子。计算机中的很多概念实际上与我们的物理世界有很强的关联性。当你发现一个计算机概念难以理解时,我们可以用生活中的例子将其对应起来。首先,我们来看一个最简单的例子:API 网关。它的基本功能是负载均衡和反向代理。这个概念在现实生活中对应着我们在马路上、在城市中每天都会看到的红绿灯。通过交通信号灯来控制车流,使所有交通能够按照最优速度进行指挥和流转。这些红绿灯是可以动态调整的,在交通高峰期,红绿灯的时间可能会缩短,也可能会进行专门的优化。因此,如果你理解了红绿灯控制路口车流的原理,那么你就明白了 API 网关对于流量的反向代理和负载均衡的原理。
接下来,我们再举一个稍微复杂的例子:机场。当你要出国旅游时,首先需要凭护照取得机票,然后通过边境和海关,由边境检查护照和签证,海关检查携带的行李。这实际上对应于 API 网关中的身份认证,它会审查你的身份是否符合当前边检要求,以及确认你的行李是否通过了海关和机场的安全检测。
当我们理解了通过红绿灯和机场来理解 API 网关的基本原理和作用后,你就会发现 API 网关在我们的数字世界中占据着非常重要的位置。想象一下,如果一个城市的红绿灯出现故障,如果一个城市的机场无法正常运转,将给我们的物理世界和生活带来许多不便。数字世界中也是如此,如果负载均衡、反向代理、身份认证、限流、限速等常见功能出现故障,就相当于城市的红绿灯和机场等重要基础设施出现了故障。因此,API 网关实际上是数字世界中的基础设施。
除了上述 API 网关可以实现的功能外,它还可以实现类似流量限速、身份检测等常见功能,并具有更多附加特性。以 Apache 软件基金会的顶级项目中 APache APISIX 为例,它拥有近 100 个插件和数百项不同的功能。因此,通过 API 网关,我们可以实现许多希望在流量中实现的功能,如安全检测、可观测性方面的性能分析等,也可以与更多云服务或 SaaS 类服务进行对接。因此,你可以将 API 网关看作是连接整个数字世界的连接器。
在今天的介绍中,我们已经讲解了 API 网关与物理世界的对应关系,相信你对 API 网关有了更直观的了解。在后续的文章中,我们将提供一个更详细的例子,讲解如何通过 API 网关将内部的 API 暴露给合作伙伴和消费者进行调用。