首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API网关是如何工作的?

API网关是如何工作的?
EN

Stack Overflow用户
提问于 2012-07-04 14:51:19
回答 2查看 41.9K关注 0票数 43

API网关是如何工作的?API网关的典型组件是什么?关于他们如何管理安全、呼叫记录和治理,是否有共同的标准?

EN

回答 2

Stack Overflow用户

发布于 2012-07-04 21:58:13

这是一个非常广泛的问题,因为有许多不同类型的网关(以及管理解决方案)。从最广义的意义上说,网关是web堆栈(由您或第三方托管)中的一个过滤器,它以某种方式过滤您的API流量。有些过滤可能会发生:

  • 在CDN中,如果在到达服务器之前使用CDN。
  • 在由第三方托管的代理中,您可以重定向通信量。
  • 在您自己的云或本地基础设施中的专用机器中运行代理软件(第三方、开源或内部)。
  • 在将流量作为主要处理之前,在应用程序堆栈的特定部分中。

通常,网关可能提供的功能类型包括:访问控制(过滤通信量,只有经过验证/授权的流量才能通过)、速率限制(限制API的每个客户端可以发送多少流量)、分析/度量捕获和日志记录(跟踪API上发生的情况)、安全过滤(检查传入消息上的内容是否受到攻击、重定向/流量路由(根据发送方或请求将流量发送到您自己基础结构中的不同端点)。

网关通常作为一组模块和过滤器工作,这些模块和过滤器以高速的速度处理流量,您通常可以启用所需的那些模块/过滤器,并控制它们的参数。很明显,有很多不同的方法可以选择实现+各种供应商和开放源码系统。

我将尝试写这个中立,因为我为3 3scale提供商业和开放源码的解决方案,但我会鼓励您看看各种选择,并得出您自己的结论!你的主要选择是:

  • 阿皮吉Layer7等供应商提供的专用网关通常是您在数据中心本地安装的硬设备或软设备。
  • 云托管网关,这些网关来自马谢利、Apigee和WSO2 API云等供应商,它们实际上将API流量通过它们的服务器重定向来运行。
  • 插件/代理体系结构,比如3标度 (我为之工作),它提供软件模块,可以部署在应用程序的前提上,可以部署在开源代理网关(如清漆 )中,也可以连接到CDN。
  • 开源解决方案,如APIAXLEWSO2,可以在前提或云中部署。

不同的方法工作方式不同,这取决于你的目标是什么。在3 3scale上,我们显然对我们的方法有偏见,因为它允许您在堆栈中的任何地方插入过滤代理--但是毫无疑问,每个供应商都会有自己的观点!

票数 62
EN

Stack Overflow用户

发布于 2020-02-12 10:41:36

API网关的概念(对我来说)更容易用类比来理解。如果你想到--一个位于办公大楼前面的前台,它基本上会给电话打电话,阻止意外的访客,并确保包裹到达正确的地方。

这正是API网关在分布式应用程序中的作用。它接受请求并将它们重定向到正确的服务。放进一张图片里,这是它的样子。

基本上,它是前台,在你的微型服务和不同的客户请求(浏览器,应用等)之间。至于它们是如何工作的,组件是什么等等,这完全取决于实现和需求。一些API网关处理身份验证和授权,另一些则处理和验证输入数据,或转换响应。有些提供监控信息,有些则提供全部信息。

如果您正在寻找更多的技术响应,Steve提供了构成这样一个层的不同组件的详细信息。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11331386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档