sentinel接入网关应用_到底什么是API网关?

为什么要使用API​​网关?

随着微服务架构的流行,API网关也越来越受欢迎。在微服务体系架构中,将应用程序划分为几个低耦合的服务(称为微服务),每个服务都有其独特的功能。尽管微服务提供了许多好处(最显着的是使它更易于开发,部署和维护应用程序的不同部分),但它们却使客户难以快速,安全地访问他们所需的信息。

API网关可以充当使用这些微服务的客户端的中央接口,从而解决其中的一些问题。客户端不必访问数十个单独的服务,而是可以向API网关发送单个请求,而API网关本身将聚集微服务。 API网关的主要功能称为路由,但是使用API​​网关的原因还有很多。

API网关还可以做什么?

API网关不仅可以通过路由分发客户的请求,还可以在API管理方面提供很多好处。作为将客户端与服务连接起来的中央接口,API网关可以处理重要的安全和管理任务,例如身份验证,输入验证,指标收集和响应转换。

身份验证: API网关可能用于验证API调用。这样,即使客户端需要从多个服务访问数据,他们也只需要在网关进行一次身份验证即可。这样可以减少延迟,并确保身份验证过程在整个应用程序中保持一致。

输入验证: API网关也可以用于执行简单的逻辑。对于输入验证,这意味着确保客户的请求包含所有必要的信息,以正确的格式完成请求,然后再到达服务,该服务最终将检索请求的数据。

指标集合:由于所有请求都是通过API网关传递的,因此它是收集分析数据的理想场所。 API网关可以例如测量用户发出的请求数量或正在中继到特定微服务的请求数量。这也允许将API网关用于速率限制:如果用户发送的请求太多,则网关可以拒绝它们,而不是将其传递给服务之一。

响应转换:通常,不同的设备和用户需要访问不同的信息。例如,移动设备可能比台式设备需要更少的数据,而内部客户端可能需要比外部客户端更多的信息。 API网关可用于解决此问题,从而为每种客户端类型有效地呈现唯一的API。

以上功能的存在,使API网关成为打包微服务的非常明智的方式。从中得到的一些好处有:

更简单的代码。

较低的延迟。

由于使用单一,一致的方法管理请求,因此提高了安全性。

减少微服务上的负载。

在理解这些好处时,可能会发现粒度概念非常有用。通常,我们谈论的是资源的细粒度或粗粒度。在微服务架构中,应用程序固有的解耦设计意味着资源通常较小,但是资源更多,因此被认为是细粒度的。将少量资源打包在一起可以更轻松,更快速地访问这些资源,这就是API网关具有前两个优点的原因。

API网关与服务网格

在这一点上,值得一提的是服务网格的概念。尽管两者之间有些相似之处,但是服务网格实际上与API网关完全不同。主要区别在于API网关促进了客户端与服务之间的通信,而服务网格仅促进了内部服务之间的通信。不过,两种模式通常包含路由,身份验证,速率限制和指标功能方面存在重叠。

以Netflix API网关为例。

NetFlix ,也就是众所周知的网飞

Netflix API网关是API网关最常被引用的例子之一。Netflix在2013年为API网关创建了第一个专用框架:Zuul。它处理了开发者期望的所有事情,从授权到路由再到分析,这为Netflix提供了我们上面讨论的所有好处。

但是,所有对Zuul的调用都处于阻塞状态,这意味着服务器必须响应客户端的调用才能再次使用该线程。于是Netflix决定:他们需要一种所谓的异步解决方案,该方案中的调用是非阻塞的,即使服务器未响应客户端的调用,该线程仍可以使用。因此,Zuul 2.0(一个开源网关框架)诞生了。

Netflix API网关的主要特征之一是 它能够处理来自1000多种设备类型的请求,然后根据客户端所运行的硬件和软件向其提供正确的信息。

写在最后:

API网关不过是的客户端和服务之间的一层。随着微服务体系结构的兴起,API网关日益普及,从API管理的角度来看,API网关具有明显的优势。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值