API网关是如何工作的?API网关的典型组件是什么?关于他们如何管理安全、呼叫记录和治理,是否有共同的标准?
发布于 2012-07-04 21:58:13
这是一个非常广泛的问题,因为有许多不同类型的网关(以及管理解决方案)。从最广义的意义上说,网关是web堆栈(由您或第三方托管)中的一个过滤器,它以某种方式过滤您的API流量。有些过滤可能会发生:
通常,网关可能提供的功能类型包括:访问控制(过滤通信量,只有经过验证/授权的流量才能通过)、速率限制(限制API的每个客户端可以发送多少流量)、分析/度量捕获和日志记录(跟踪API上发生的情况)、安全过滤(检查传入消息上的内容是否受到攻击、重定向/流量路由(根据发送方或请求将流量发送到您自己基础结构中的不同端点)。
网关通常作为一组模块和过滤器工作,这些模块和过滤器以高速的速度处理流量,您通常可以启用所需的那些模块/过滤器,并控制它们的参数。很明显,有很多不同的方法可以选择实现+各种供应商和开放源码系统。
我将尝试写这个中立,因为我为3 3scale提供商业和开放源码的解决方案,但我会鼓励您看看各种选择,并得出您自己的结论!你的主要选择是:
不同的方法工作方式不同,这取决于你的目标是什么。在3 3scale上,我们显然对我们的方法有偏见,因为它允许您在堆栈中的任何地方插入过滤代理--但是毫无疑问,每个供应商都会有自己的观点!
发布于 2020-02-12 10:41:36
API网关的概念(对我来说)更容易用类比来理解。如果你想到--一个位于办公大楼前面的前台,它基本上会给电话打电话,阻止意外的访客,并确保包裹到达正确的地方。
这正是API网关在分布式应用程序中的作用。它接受请求并将它们重定向到正确的服务。放进一张图片里,这是它的样子。

基本上,它是前台,在你的微型服务和不同的客户请求(浏览器,应用等)之间。至于它们是如何工作的,组件是什么等等,这完全取决于实现和需求。一些API网关处理身份验证和授权,另一些则处理和验证输入数据,或转换响应。有些提供监控信息,有些则提供全部信息。
如果您正在寻找更多的技术响应,Steve提供了构成这样一个层的不同组件的详细信息。
https://stackoverflow.com/questions/11331386
复制相似问题