Microservices Api网关或无Api网关

Microservices Api网关或无Api网关,microservices,Microservices,我正在开发一个基于微服务架构的应用程序。在这里,每个服务都是一个可独立部署的playscala应用程序exposingrestapi。我想在这些服务之上实现一个Api网关,用于映射传入请求。我遵循这里讨论的体系结构: 基于微服务体系结构的成熟度很高的项目很少。其中之一是。但是这个项目没有使用api网关模式,并且似乎遵循了关于这里缺少的api网关的这个项目有一个公开的消息。这里的贡献者声称他们没有遵循api网关模式,因为它有单点故障的风险 这种不同的意见使我很困惑。因此,我正在寻找是否应该使用Ap

我正在开发一个基于
微服务架构的应用程序。在这里,每个
服务
都是一个可独立部署的
playscala应用程序
exposing
restapi
。我想在这些服务之上实现一个
Api网关
,用于映射传入请求。我遵循这里讨论的体系结构:

基于微服务体系结构的成熟度很高的项目很少。其中之一是。但是这个项目没有使用
api网关模式
,并且似乎遵循了关于这里缺少的api网关的这个项目有一个公开的消息。这里的贡献者声称他们没有遵循
api网关模式
,因为它有
单点故障的风险


这种不同的意见使我很困惑。因此,我正在寻找是否应该使用Api网关的建议这里的正确做法是什么?

API网关不会像负载平衡器那样引入单点故障。任何严重的API网关都应该能够在高可用性模式下运行,从而消除单点故障

API网关鼓励团队内部进行良好的文档编制和规划。某些API网关允许您导入Swagger规范以创建API

某些网关允许您创建虚拟端点来模拟上游目标的响应。这样,如果您的服务还不完全可用,您仍然可以对其进行编码,并在准备就绪时切换到目标

API网关应该能够循环负载平衡您的上游目标,从而消除添加专用负载平衡器的必要性。您还可以将网关配置为定期命中healthcheck端点,并在服务不可用时自动从LB中删除目标


网关将为您处理身份验证。无论是通过JWT、Oauth、Simple、Open等,您的开发人员都可以专注于构建他们的微服务。你的微服务可以是微的。网关将位于基础设施的边缘,为您处理安全问题。

Hi@oblivion,您能分享一下您采取的方法吗?如果API网关处理身份验证,这是否意味着背后的服务可能是完全开放的?网关是为了保护您的内部网络,应该受到信任。它是一个反向代理。因此,根据您的用例,您可以保持打开状态,或者使用mutual TLS,或者jwt,或者注入auth头,或者将网关IP列入白名单,或者部署为服务网格。看看一个可靠的api网关和管理平台。这个用例怎么样。内部服务提供有关实体的数据。API网关仅过滤出用户有权查看的实体。这合法吗?这里并没有太多关于技术安全的内容,而是更多关于内容的内容。网关可以通过内省端点验证访问令牌,并确定可以访问哪些资源,但AuthN/Z超出了这个S/O问题的范围。