小智 60
这是一个非常广泛的问题,因为有许多不同类型的网关(和管理解决方案).从最广泛的意义上讲,网关是网络堆栈中的某个过滤器(由您或第三方托管),可以过滤您的API流量.一些过滤可能发生:
通常,网关可以提供的功能类型可以包括:访问控制(过滤流量以便只有经过身份验证/授权的流量通过),速率限制(限制API的每个客户端可以发送多少流量),分析/度量捕获和记录(跟踪API上发生的事情),安全过滤(检查传入消息的内容是否存在攻击,重定向/流量路由(根据发送者或请求将流量发送到您自己的基础架构中的不同端点).
网关通常用作一组模块和过滤器,用于在流量高速流过时处理流量,您通常可以启用所需的模块/过滤器并控制其参数.实际上有很多不同的方法可以实现实现+各种供应商和开源系统可供选择.
我会尝试写这个中立的,因为我为3scale工作,提供商业和开源解决方案,但我鼓励你看看各种选项,并得出你自己的结论!您的主要选择是:
不同的方法有不同的工作方式,这取决于您的目标.在3scale中,我们显然偏向于我们的方法,因为它允许您在堆栈中的任何位置插入过滤代理 - 但是毫无疑问,每个供应商都会有自己的观点!
API 网关的概念(对我而言)通过类比更容易理解。如果您想到办公楼前面的接待台,它基本上可以路由呼叫,阻止意外访客并确保包裹到达正确的地方。
这正是 API 网关在分布式应用程序中的作用。它接受请求并将它们重定向到正确的服务。放入图像,这是它的外观。
基本上,它是您的微服务和不同客户端请求(浏览器、应用程序等)之间的接待台。至于它们如何工作,组件是什么等等,这完全取决于实现和需求。一些 API 网关处理身份验证和授权,其他处理和验证输入数据,或转换响应。有些提供监控信息,有些提供所有信息。
如果您正在寻找更多技术响应,Steve 提供了有关构成此类层的不同组件的详细信息。这里还有一篇关于API Gateway 的主要优势的文章。
| 归档时间: |
|
| 查看次数: |
40051 次 |
| 最近记录: |