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

转载 https://blog.csdn.net/qq_24084925/article/details/59094597

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网关将会变成瓶颈和单点。
————————————————
版权声明:本文为CSDN博主「CODE男孩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24084925/article/details/59094597

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
建设微服务API微服务架构中重要的一环,它可以帮助我们将多个微服务组合成一个整体,提供更好的用户体验和更高的性能。以下是一些实践,可以帮助您建设微服务API: 1. 选择一个适合您的API:目前市场上有很多不同的API,如Kong、Apigee、Zuul等。您需要根据您的需求和团队的技术水平选择一个适合您的API。 2. 定义API的功能:API的功能包括路由、负载均衡、安全性、监控和日志记录等。您需要根据您的需求定义API的功能,以便您可以选择适合您的API。 3. 定义APIAPI:您需要定义APIAPI,以便您的开发团队可以使用它们。您需要考虑API的版本控制、文档和测试等。 4. 集成微服务:您需要将您的微服务集成到API中。您需要考虑微服务的版本控制、文档和测试等。 5. 确保安全性:您需要确保API的安全性,包括身份验证和访问控制等。您可以使用OAuth、JWT等技术来实现安全性。 6. 监控和日志记录:您需要监控和日志记录API的性能和错误。您可以使用ELK、Prometheus等工具来实现监控和日志记录。 7. 测试和部署:您需要测试和部署API。您可以使用CI/CD工具来自动化测试和部署过程。 总之,建设微服务API需要您考虑多个方面,如选择适合您的API、定义API的功能和API、集成微服务、确保安全性、监控和日志记录、测试和部署等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值