前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么微服务需要API网关?

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

作者头像
lyb-geek
发布2018-09-27 09:35:25
1.2K0
发布2018-09-27 09:35:25
举报
文章被收录于专栏:Linyb极客之路Linyb极客之路
随着以API为中心的IT规模增长,API网关和管理层越来越常见。 我们应该考虑微服务的API网关吗?如果是,他们提供什么样的好处? 什么是API网关? API网关跨一个或多个内部API提供单个统一的API入口点。 通常还包括限制访问速率限制和有关安全性等特点。 诸如Tyk.io的API管理层增加了额外的功能,例如分析,货币化和生命周期管理。 基于微服务的架构可以具有10到100个或更多个服务。 API网关可以为外部消费者提供统一的入口点,而与内部微服务的数量和组成无关。 API网关对于微服务的好处 1.防止内部关注暴露给外部客户端 API网关将外部公共API与内部微服务API分开,允许添加微服务和更改边界。 其结果是能够在不对外部绑定客户端产生负面影响的情况下重构和适当大小的微服务。 它还通过为您的所有微服务提供单一入口点,对客户端隐藏了服务发现和版本控制详细信息。 2.为您的微服务添加额外的安全层 API网关通过提供一个额外的保护层来防止恶意攻击,例如SQL注入,XML解析器漏洞和拒绝服务(DoS)攻击。 3.支持混合通信协议 虽然面向外部的API通常提供基于HTTP或REST的API,但是内部微服务可以从使用不同的通信协议中受益。 协议可能包括的Protobuf或AMQP ,或者用SOAP,JSON-RPC或XML-RPC系统集成。 API网关可以在这些不同的协议之上提供外部的,统一的基于REST的API,允许团队选择最适合内部架构的API。 4.降低微服务复杂性 如果微服务具有共同的关注点,例如使用API令牌的授权,访问控制实施和速率限制。 每个这些关注可以通过要求每个服务都实现它们,但这为微服务的开发增加更多的时间成本。 API网关将从您的代码中删除这些问题,允许您的微服务关注手头的任务。 5.微服务模拟和虚拟化 通过将微服务API与外部API分离,您可以模拟或虚拟化服务,以验证设计要求或协助集成测试。 微服务API网关的缺点 虽然使用API微服务网关有很多好处,但有一些缺点: 1.您的部署架构将需要更多的编排和管理,并增加一个API网关 2.必须在部署期间管理路由逻辑的配置,以确保从外部API到正确的微服务的正确路由。 3.除非针对高可用性和规模正确构建,否则API网关可能成为限制因素,甚至是单点故障。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linyb极客之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档