加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

这是2020计算机、数学的重大突破

发布时间:2021-01-31 11:12:13 所属栏目:评论 来源:互联网
导读:优点 在前端和后端服务之间提供松耦合 减少客户端和微服务之间的调用次数 通过 SSL 终端、身份验证和授权实现高安全性 集中管理的横切关注点,例如,日志记录和监视、节流、负载平衡。 缺点 可能导致微服务架构中的单点故障 额外的网络调用带来的延迟增加 如

优点

  • 在前端和后端服务之间提供松耦合
  • 减少客户端和微服务之间的调用次数
  • 通过 SSL 终端、身份验证和授权实现高安全性
  • 集中管理的横切关注点,例如,日志记录和监视、节流、负载平衡。

缺点

  • 可能导致微服务架构中的单点故障
  • 额外的网络调用带来的延迟增加
  • 如果不进行扩展,它们很容易成为整个企业应用的瓶颈。
  • 额外的维护和开发费用

何时使用 API 网关

  • 在复杂的微服务架构中,它几乎是必须的。
  • 在大型企业中,API 网关是中心化安全性和横切关注点的必要工具。

何时不宜使用 API 网关

  • 在安全和集中管理不是最优先要素的私人项目或小公司中。
  • 如果微服务的数量相当少。

可用技术示例
 

优点

  • 分离 BFF 之间的关注点,使得我们可以为具体的 UI 优化他们。
  • 提供更高的安全性
  • 减少 UI 和下游微服务之间频繁的通信

缺点

  • BFF 之间代码重复
  • 大量的 BFF 用于其他用户界面(例如,智能电视,Web,移动端,PC 桌面版)
  • 需要仔细的设计和实现,BFF 不应该包含任何业务逻辑,而应只包含特定客户端逻辑和行为。

何时使用 BFF

  • 如果应用程序有多个含不同 API 需求的 UI
  • 出于安全需要,UI 和下游微服务之间需要额外的层。
  • 如果在 UI 开发中使用微前端。

何时不宜使用 BFF

  • 如果应用程序虽有多个 UI,但使用的 API 相同。
  • 如果核心微服务不是部署在 DMZ 网络中。

可用技术示例

任何后端框架(Node.js,Spring,Django,Laravel,Flask,Play,…)都能支持。

API 网关

在微服务架构中,UI 通常连接多个微服务。如果微服务是细粒度的(FaaS) ,那么客户端可能需要连接非常多的微服务,这将变得繁杂和具有挑战性。此外,这些服务包括它们的 API 还将不断进化。大型企业还希望能有其他横切关注点(SSL 终止、身份验证、授权、节流、日志记录等)。

一个解决这些问题的可行方法是使用 API 网关。API 网关位于客户端 APP 和后端微服务之间充当 facade,它可以是反向代理,将客户端请求路由到适当的后端微服务。它还支持将客户端请求扇出到多个微服务,然后将响应聚合后返回给客户端。它还支持必要的横切关注点。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读