微服务-API 闸道器

https://ithelp.ithome.com.tw/upload/images/20211028/20132160vo7Cp5OeRE.png
-API 闸道器和服务网格(来源:Liran Katz)
实施 API 闸道器以促进跨境通信;他们控制着南北和东西向的交通。外部或边缘 API 闸道器将来自客户端的入站请求路由到适当的服务;内部 API 闸道器促进了各种服务网格范围之间的通信。服务网格促进特定范围内的服务到服务通信。
API 闸道器架构可以是整体式的,也可以是分布式的。
在整体式API 闸道器架构中,通常只有一个 API 闸道器部署在企业网路的边缘(例如,非军事区 (DMZ)),并在企业级为 API 提供所有服务。
在分布式API闸道器架构中,有多个微闸道器实例,部署在更靠近微服务API的地方。微闸道器通常是低的覆盖区,其可以被用来定义和执行自定义策略,因此适合用於基於微服务的应用程序,必须通过特定的服务的安全策略来保护可脚本API闸道器。
微闸道器通常作为使用 Node.js 等开发平台的独立容器实现。它不同於服务网格架构的 sidecar 代理,後者是在 API 端点本身实现的。
来源:来源:NIST SP 800-204

服务网格(Service Mesh)
服务网格是一个专用的基础设施层,它通过服务发现、路由和内部负载平衡、流量配置、加密、身份验证和授权、指标和监控来促进服务到服务的通信。
服务网格为微服务应用程序中的每个服务创建一个小型代理服务器实例。这种专门的代理汽车有时在服务网格术语中被称为“ sidecar 代理”。Sidecar 代理形成了数据平面,而执行安全性(访问控制、通信相关)所需的运行时操作是通过从控制平面向 sidecar 代理注入策略(例如访问控制策略)来启用的。这也提供了在不修改微服务代码的情况下动态更改策略的灵活性。
来源:NIST SP 800-204

API闸道器(API Gateway)
API 闸道器的主要功能是始终将入站请求路由到正确的下游服务,可选择执行协议转换 (即 Web 协议之间的转换,例如 HTTP 和 WebSocket,以及内部使用的 Web 不友好协议,例如作为 AMQP 和 Thrift 二进制 RPC)并且有时组合 requests。在极少数情况下,它们被用作前端后端 (BFF) 的一部分,从而支持具有不同外形因素(例如,浏览器、移动设备)的客户端。
来自客户端的所有请求首先通过 API 闸道器,然後将请求路由到适当的微服务。API 闸道器通常会通过调用多个微服务并聚合结果来处理请求。
由於API闸道器是微服务的入口点,所以它应该配备必要的基础服务(除了其主要的请求整形服务),如服务发现、认证和存取控制、负载平衡、缓存、提供自定义API对於每种类型的客户端,应用感知健康检查、服务监控、攻击检测、攻击响应、安全日志记录和监控以及断路器。
来源:NIST SP 800-204

参考
. NIST SP 800-204
. 网路层复习
. 服务网格与 API 闸道器:有什麽区别?
. API 闸道器和服务网格的区别
. API 闸道器与服务网格
. API 闸道器和服务网格:打开应用现代化的大门

资料来源: Wentz Wu QOTD-20210823
My Blog: https://choson.lifenet.com.tw/


<<:  软件工程:SDLC V-Model

>>:  课堂笔记 - 深度学习 Deep Learning (15)

Day31 参加职训(机器学习与资料分析工程师培训班),tf.keras & Pytorch

早上: Python机器学习套件与资料分析 今天也是练习CNN import os import c...

[ Day 12 ] - <script> 标签放哪里~

上一篇有提到,一个浏览器在解析网页时,会将 HTML 内容由上至下一行一行解析成 DOM 的节点, ...

Day 17 正面的鼓励与掌声...

一步主动,步步主动,步步领先,享受光荣;一步被动,步步被动,步步落伍,煎熬受穷。 《iT邦帮忙铁人赛...

Day 29. End To End Testing

E2E Test with efficiency End To End Testing 是前端测试中...

何谓架构(Architecture)?

架构是解决方案最重要的工件,它是从各种观点或角度看一个东西(即解决方案)所产生的概念、逻辑和物理呈...