现代软件系统很少再以单一、庞大的程序形式存在。
十几二十年前,大多数应用程序都是以单体架构构建的。从用户界面到业务逻辑,再到数据库访问,一切都集中在一个大型代码库中。这种方法最初让开发变得简单,但随着应用程序规模和复杂性的增长,维护和扩展变得越来越困难。一个变更就可能影响整个系统,而部署更新意味着重新部署整个应用程序。
为了克服这些限制,业界逐渐转向基于服务的架构。系统不再是一个庞大的程序,而是被拆分成更小、更独立的服务。每个服务负责处理特定的功能,例如用户身份验证、支付或通知。这些微服务使用 API 相互通信。最终,系统变得更加模块化、灵活,可以独立开发和部署。
然而,基于服务的架构也带来了一系列新的挑战。随着服务数量的增长,客户端与服务之间的交互也随之增加。一个简单的客户端请求(例如显示用户的仪表板)现在可能需要来自多个微服务的数据。客户端需要了解每个服务的位置、身份验证方法和请求格式。当服务发生变更或移动时,客户端也必须进行更新。管理这些复杂性变得复杂且容易出错。
这就是 API 网关的作用所在。API 网关可以理解为客户端和内部服务之间的入口点。客户端无需直接调用多个服务,而是将请求发送到 API 网关,然后由网关处理其余部分。
随着时间的推移,API 网关已经发展成为功能齐全的管理平台。它们不仅可以路由流量,还可以处理身份验证和授权、管理多个 API 版本、转换协议和负载,并提供用于监控 API 性能的分析功能。
在本文中,我们将详细介绍 API 网关及其架构和功能。
什么是 API 网关?
原文: https://blog.bytebytego.com/p/api-gateways-101-the-core-of-modern
