nginx-我真的需要Web服务器以及API-微服务架构中的网关
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nginx-我真的需要Web服务器以及API-微服务架构中的网关,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2426字,纯文字阅读大概需要4分钟。
内容图文
在我们的高素质主持人基于各种原因拒绝这个问题之前,我想强调一下,这主要是为了重新设计当前项目.
因此,在我当前的python应用程序中,我正在使用gunicorn和nginx.现在,当我们迁移到云时,这让我觉得我真的需要nginx或其他任何Web服务器.
在我们的云架构中,我们将使用API??网关,我们计划通过该API网关:1)通过Internet公开api 2)负载平衡3)身份验证和授权
网络服务器还有其他目的无法通过api-gateway来实现吗?api-gateway只是网络服务器的另一个奇特名称吗?
解决方法:
我将通过解决术语“ API网关”来回答. API网关是外观设计模式的实现.顾名思义,这种模式仅意味着将某个组件放在其他组件的前面.在Web应用程序的上下文中,网关API是位于Web服务/端点前面的模块.但是,与您所描述的相反,身份验证和授权通常最适合作为体系结构中单独的模块/微服务.这是设置网关API服务的一种方法:
┌──────────────┐ (1) ┌────────────────┐
│ ├─── authenthicate ──> │ │
│ gateway API │ │ authentication │
│ │ <──── yes/no ────────┤ │
└───────┬───┬──┘ └────────────────┘
│ │ (2)
│ └─────────────────────┐
(3) │ │
│ │
┌───────┴──────┐ ┌───────┴───────┐
│ │ │ │
│ web services │ │ authorization │
│ │ │ │
└──────────────┘ └───────────────┘
在这种设计下,您的所有组件现在都具有一个用于登录/身份验证的点.身份验证模块基本上只是说是或否,这也意味着您只需要维护一组逻辑或代码即可处理所有身份验证.这看似微不足道,但想像一下这将为谷歌或微软这样的公司节省多少工作,该公司拥有数十种可公开获得的产品和服务.请注意,实际上,您的身份验证可能是分层的或分层的.例如,您可能具有1FA和2FA身份验证级别,或其他级别.
发生的下一步是网关API将访问授权模块,以找出传入的请求是否具有足够的权限来访问所请求的端点/服务.如果不是,则网关将拒绝该请求.如果是这样,那么它将允许请求访问相应的Web服务.
意识到一旦身份验证和授权不起作用,网关API基本上就是一个大型路由器,它将传入的请求映射到您的一个或多个应用程序中的某个特定端点.值得一提的这种微服务设计的另一个好处是,如果您不得不更改身份验证提供程序或授权逻辑,则只需更改该模块.假设您明智地编写了接口代码,则应用程序中所需的更改应该很小.
Here is a link到Spring的Cloud Gateway框架文档.在这种情况下,将使用Spring Boot应用程序作为网关API的实现.
内容总结
以上是互联网集市为您收集整理的nginx-我真的需要Web服务器以及API-微服务架构中的网关全部内容,希望文章能够帮你解决nginx-我真的需要Web服务器以及API-微服务架构中的网关所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。