ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

为什么微服务需要API网关?

2021-05-28 16:02:18  阅读:144  来源: 互联网

标签:网关 服务 外部 提供 API 架构


 高洪涛 译 分布式实验室 

图片

随着以API产品化和以其为中心的IT计划的兴起,API网关和管理层变得很通用。我们应该为微服务考虑API网关吗?如果是这样,它们能提供什么收益吗?

API网关是什么?

图片

API网关可以提供一个单独且统一的API入口用于访问内部一个或多个API。它们典型的会提供访问频率限制层和安全层。但诸如Tyk.io这样的API管理层会提供分析,计费和生命周期管理功能。

一个微服务架构可以包含数十到数百个服务。API网关可以为外部用户提供一个统一的入口,这个入口独立于内部微服务组件。

微服务API网关的优势

图片

阻止将内部的敏感信息暴露给外部的客户端

API网关通过提供微服务绑定和解绑的能力来将外部的公开API与内部微服务API分离开。这样就具备重构和裁切微服务而不会影响外部绑定的客户端的能力。它同时对客户端隐藏了服务发现和服务版本这些细节,因为它对所有微服务提供单一的访问点。

为服务增加额外的安全层

API网关通过提供额外的安全层帮助阻止大规模***。这些***包括SQL注入,XML解析漏洞和DoS***。

可以支持混合通讯协议

不同于外部API一般使用HTTP或REST,内部微服务可以从使用不用通讯协议中收获益处。这些协议可以是ProtoBuf或AMQP,甚至是诸如SOAP,JSON-RPC或者XML-RPC这样的系统集成协议。API网关可以对这些协议提供统一的外部REST接口,这就允许开发团队挑选一款最适合于内部架构的协议。

降低微服务的复杂度

微服务中有一些常见的要点,诸如使用API令牌进行授权,访问控制和调用频次限制。这每个点都需要每个服务区增加额外的时间去实现它们。API网关将这些要点从你的代码中提取出来,允许你的服务只关注于它们需要关注的任务。

微服务模拟和虚拟化

随着微服务API从外部API中分离出来,你可以模拟你的服务去做设计验证或者很方便的做集成测试。

微服务API网关的缺点

图片

虽然API微服务网关有这么多的好处,但同时也存在一些缺点:

  • 由于API网关需要额外的配置,你的部署架构需要更多的编排和管理能力。

  • 在发布阶段需要管理路由的配置,以保障外部API被正确的路由到微服务上。

  • 除非很好的使用高可用,可扩展的架构,否则API网关将会变成瓶颈和单点。

本文为翻译文章,点击阅读原文链接即可查看原文。


标签:网关,服务,外部,提供,API,架构
来源: https://blog.51cto.com/u_15127630/2826274

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有