java高级培训:Spring Cloud为什么需要API Gateway

    1、简化客户端调用复杂度     在微服务架构模式下,后端服务实例的数量通常是动态的,客户端很难找到动态变化的服务实例的访问地址信息。因此,为了简化基于微服务的项目中的前端调用逻辑...

    1、简化客户端调用复杂度

    在微服务架构模式下,后端服务实例的数量通常是动态的,客户端很难找到动态变化的服务实例的访问地址信息。因此,为了简化基于微服务的项目中的前端调用逻辑,通常将API网关作为轻量级网关引入。同时,在API网关中还实现了相关的身份验证逻辑,以简化内部服务之间相互调用的复杂性。

attachments-2020-10-Y8sQQykC5f7f1bcedaebe.png

    2、数据裁剪以及聚合

    通常而言不同的客户端对于显示时对于数据的需求是不一致的,比如手机端或者Web端又或者在低延迟的网络环境或者高延迟的网络环境。

    因此,为了优化客户端的使用体验,APIGateway可以定制通用响应数据以适应不同客户端的使用需求。同时,可以聚合多个API调用逻辑,从而减少客户端请求的数量并优化客户端用户体验

attachments-2020-10-4WzuZ3pk5f7f1bda73598.png

    3、多渠道支持

    当然,我们也可以为不同的渠道和客户提供不同的API网关。通过另一种众所周知的方法,将此模式的使用称为前端后端。在前端模式的后端中,我们可以针对不同的客户端分别创建其BFF。

    4、遗留系统的微服务化改造

    对于系统而言,微服务转换通常归因于原始系统中或多或少的问题,例如技术债务,代码质量,可维护性,可伸缩性等。API网关模型也适用于此类传统系统的转换。通过微服务的转型,逐渐解决了原始系统中的问题,从而增强了原始业务的响应能力。通过引入抽象层,逐渐用新层替换旧层。

推荐阅读:java高级培训:Spring Cloud微服务处理异常机制的差异?

如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1037935907,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

  • 发表于 2020-10-08 22:04
  • 阅读 ( 359 )
  • 分类:技术干货

0 条评论

请先 登录 后评论
JAVA Q&A
JAVA Q&A

173 篇文章

作家榜 »

  1. JAVA Q&A 173 文章
  2. 江南 1 文章
  3. 伯乐 0 文章
  4. 孤存 0 文章
  5. q21164340 0 文章
  6. 赫敏12 0 文章
  7. 子牙 0 文章
  8. 赫敏 0 文章