zoukankan      html  css  js  c++  java
  • api-gateway实践(15)API网关的待改进点 20171207


    一、API网关能力

    API网关负责服务请求路由、组合及协议转换。客户端的所有请求都首先经过API网关,然后由它将请求路由到合适的微服务。
    API网关的客户端通过统一的网关接入微服务,在网关层处理所有的非业务功能。
    API网关一般提供REST/HTTP的访问API。服务端在网关上注册和管理服务。
    API网关的优点:API网关封装了应用程序的内部结构,客户端只需要同网关交互,而不必调用特定的服务。
    API网关为每一类客户端提供了特定的API,减少了客户端与应用程序间的交互次数,简化了客户端代码。
    API网关的不足:API网关需要单独开发、部署和维护,并支持高可用。为了暴露每个微服务的端点,开发人员必须更新API网关。
    API网关的更新过程要尽可能地简单,这很重要。
    否则,为了更新网关,开发人员将不得不排队等待。

    二、API网关改进点

    1、ApiGW 代码解耦合

    2、Api列表:希望改成按group列表展示,点击后进入下一级。-魏金雷

          回复:市场按分组显示的。服务列表是服务实例列表。

    3、监控:待加强,可以从不同用户角度考虑,持续增强

    4、分析:待加强,可以从不同用户角度考虑,持续增强7、响应缓存:不支持,可以考虑

    5、请求分片与管理:?region?

    6、静态响应处理:?缓存?

    7、服务发现要随自动扩展和升级而动态变化,API弯管需要使用系统的服务发现机制,可以是服务器端发现,也可以是客户端发现。(如果配置负载均衡地址,可以不考虑?)

    8、API目录管理:待加强,如:复制、导入、导出

    9、局部失败:熔断已支持!如果产品信息服务无响应,那么API网关应该向客户端返回一个错误信息。

    10、身份验证:已支持!

    11、负载均衡:已支持,配置集群地址

    当需要编辑某个API的定义时,如果该API已经发布,对定义的修改不会对线上产生影响,定义修改后需要再次发布才能把修改后的定义同步到线上环境。
    当想要删除某个API,如果该API已经发布,则不允许直接删除API定义,需要先将API下线,然后删除。
    提供了复制定义的功能。可以从测试环境/线上环境复制线上的定义覆盖当前的最新定义,然后重新点击编辑进行修改。 

    三、其他 - 暂不考虑

    1、API网关还能为每个客户端提供一个定制的API。通常,它会向移动客户端暴露一个粗粒度的API。
    2、API网关可以调用多个微服务并合并结果来处理一个请求。它可以在Web协议(如HTTP与WebSocket)与内部使用的非Web友好协议之间转换。
    例如,查询产品详情的场景。
    API网关可以提供一个端点(/productdetails?productid=xxx),使移动客户端通过一个请求获取所有的产品详情。
    API网关通过调用各个服务(产品信息、推荐、评论等等)并合并结果来处理请求。
    3、多种通信机制:如:同步、异步,基于消息?

  • 相关阅读:
    《大道至简》3
    《大道至简》2
    《大道至简》1
    [转]python 中的字符串连接
    [转]Eclipse Python插件 PyDev 使用
    [转]Windows下python环境变量配置
    [转]aircrack-ng破解教程
    [转]Java获取当前路径
    [转]java程序打包成jar,图片文件问题
    关于2013,致2014
  • 原文地址:https://www.cnblogs.com/lexiaofei/p/7997920.html
Copyright © 2011-2022 走看看