微服务和 api 网关架构中的输入和身份验证验证

input and authentication validation in microservices and api-gateway architecture

简而言之,输入验证和身份验证应该在哪里执行? 在 api-gateway 和每个微服务中?仅在 api-网关中?仅在每个微服务中?

也许一部分在 api-gateway 中,一部分在每个网关中?

感谢解答!

作为一般规则,验证应尽可能靠近客户端,以便 fail fast 但不影响每个 component/microservice 的体系结构和职责。

话虽如此,您可以在 API 网关中进行身份验证,但 输入验证特定于每个微服务 我认为您无法将其集中进入 API 网关。此外,存在太多类型的验证,无法给出关于它们的准确答案,但您可以尝试尽可能多地应用第一段中的规则。