美文网首页SpringBoot微服务
为什么微服务需要API网关?

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

作者: 御龙文刀 | 来源:发表于2017-01-08 18:19 被阅读98次

随着以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网关的缺点虽然使用API​​微服务网关有很多好处,但有一些缺点:

  • 您的部署架构将需要更多的编排和管理,并增加一个API网关
  • 必须在部署期间管理路由逻辑的配置,以确保从外部API到正确的微服务的正确路由。
  • 除非针对高可用性和规模正确构建,否则API网关可能成为限制因素,甚至是单点故障。

相关文章

  • 微服务架构之「 API网关 」

    一、为什么需要「 API网关 」? 为什么做微服务的需要「 API网关 」呢?「 API网关 」到底有些啥功能呢?...

  • 简体字丶冯|服务网关kong-认识

    tags: 微服务网关,api网关,kong,健康检查,负载均衡grammar_cjkRuby: true 为什么...

  • API网关实践-网易云轻舟微服务

    微服务最佳实践中,我们需要通过统一的API 网关进行服务能力的共享,API 网关为用户提供发布、管理、保护和监控 ...

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

    随着以API为中心的IT规模增长,API网关和管理层越来越常见。 我们应该考虑微服务的API网关吗?如果是,他们提...

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

    随着以API为中心的IT规模增长,API网关和管理层越来越常见。 我们应该考虑微服务的API网关吗?如果是,他们提...

  • 2018-03-27

    微服务网关 什么是微服务网关 微服务网关也称为服务网关或者API网关。服务网关 = 路由转发 + 过滤器...

  • SpringCloud—网关简述

    1. 为什么需要网关 API网关的出现的原因是微服务架构的出现,不同的微服务一般有不同的网络地址,而外部客户端可能...

  • 为什么需要后端网关

    一、什么是服务网关 二、为什么需要服务网关 三、服务网关技术选型 1、总体流程 2、引入网关的注意点 3、服务网关...

  • Spring Cloud Zuul -- 服务网关

    服务网关:API Gateway,API网关Spring Cloud Zuul:封装于Netflix ZuulAP...

  • API网关功能一览

    无论是单体应用,SOA或者现在流行的微服务架构,都需要一个API网关。API网关作为内网的入口;统一对外提供服务。...

网友评论

    本文标题:为什么微服务需要API网关?

    本文链接:https://www.haomeiwen.com/subject/fszqbttx.html