一、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、多种通信机制:如:同步、异步,基于消息?

api-gateway实践(15)API网关的待改进点 20171207的更多相关文章

  1. 浅谈API网关(API Gateway)如何承载API经济生态链

    序言 API经济生态链已经在全球范围覆盖, 绝大多数企业都已经走在数字化转型的道路上,API成为企业连接业务的核心载体, 并产生巨大的盈利空间.快速增长的API规模以及调用量,使得企业IT在架构上.模 ...

  2. .net core 微服务之Api网关(Api Gateway)

    原文:.net core 微服务之Api网关(Api Gateway) 微服务网关目录 1. 微服务引子 2.使用Nginx作为api网关 3.自创api网关(重复轮子) 3.1.构建初始化 3.2. ...

  3. 分享一个国内首个企业级开源的GO语言网关--GoKu API Gateway

    一. 简介 GoKu API Gateway,中文名:悟空API网关,是国内首个开源go语言API网关,帮助企业进行API服务治理与API性能安全维护,为企业数字化赋能. GoKu API Gatew ...

  4. 几种部署Goku API Gateway的方式,最快一分钟可使用上网关

    本文将介绍几种部署Goku API Gateway的方式,最快一分钟可使用上为网关,详情请看全文. 什么是Goku API Gateway? Goku API Gateway (中文名:悟空 API ...

  5. Why Do Microservices Need an API Gateway?

    Why Do Microservices Need an API Gateway? - DZone Integration https://dzone.com/articles/why-do-micr ...

  6. 详解API Gateway流控实现,揭开ROMA平台高性能秒级流控的技术细节

    摘要:ROMA平台的核心系统ROMA Connect源自华为流程IT的集成平台,在华为内部有超过15年的企业业务集成经验. 本文分享自华为云社区<ROMA集成关键技术(1)-API流控技术详解& ...

  7. Docker安装Kong API Gateway并使用

    我最新最全的文章都在南瓜慢说 www.pkslow.com,文章更新也只在官网,欢迎大家来喝茶~~ 1 简介 Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即 ...

  8. 使用 WSO2 API Manager 管理 Rest API

    WSO2 API Manager 简介 随着软件工程的增多,越来越多的软件提供各种不同格式.不同定义的 Rest API 作为资源共享,而由于这些 API 资源的异构性,很难对其进行复用.WSO2 A ...

  9. 谈谈微服务中的 API 网关(API Gateway)

    前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了,在这里给大家抱歉. 那么,在本篇文章中,我们就一起来探 ...

随机推荐

  1. C++学习-6

    1.Auto无法区分常量变量,引用常量(顶层const被忽略了),不能识别引用变量,const和&都无法识别 Auto不能放在结构体内部 2.decltype()能识别引用,能获取常量属性,t ...

  2. WebService下实现大数据量的传输

    设置RemotingFormat = SerializationFormat.Binary;再序列化,通过WebService传输,客户端接收,再反序列化,确实效果大大的优于直接传送DataSet,不 ...

  3. npm打包前端项目太慢问题分析以及暂时解决方案

    npm build 打包前端项目实际上是执行 node build/build.js,但是随着项目的依赖包越来越多,项目打包时间不断延长,为了改善这个问题,需要从node入手 暂时解决方案:扩大nod ...

  4. ibatis annotations 注解方式返回刚插入的自增长主键ID的值

    mybatis提供了注解方式编写sql,省去了配置并编写xml mapper文件的麻烦,今天遇到了获取自增长主键返回值的问题,发现相关问答比较少,还好最后还是圆满解决了,现把重点记录一下,解决问题的关 ...

  5. Mac下使用终端连接远程使用ssh协议的git服务器

    最近换了台新电脑, MacBook pro,拿到新电脑之后小小心喜了一下(终于解脱windows的束缚拥抱mac啦), 然后就开始苦逼的安装各种开发环境了. 之前在windows上使用tortoise ...

  6. 在oracle中,group by后将字符拼接,以及自定义排序

    1.在oracle中,group by后将字符拼接.任务:在学生表中,有studentid和subject两个字段.要求对studentid进行group by分组,并将所选科目拼接在一起.oracl ...

  7. 笔记:I/O流-对象序列化

    Java 语言支持一种称为对象序列化(Object Serialization)的非常通用的机制,可以将任何对象写入到流中,并在之后将其读回,首先需要支持对象序列化的类,必须继承与 Serializa ...

  8. JS时间处理由CST格式转成GMT格式时间

    问题描述:js接收java后台的时间数据时,时间格式的CST时间,而js默认的是GMT时间格式,js 需要对这个时间进行处理才能使用,具体处理方法如function dateToGMT(sDate){ ...

  9. 使用gevent提高IO繁忙型wsgi服务的并发量(转)

    add by zhj: 在Benchmark of Python WSGI Servers一文中,作者进行详细分析,得出的结论是gevent在所有WSGI Server(包括Tornado.Uwsgi ...

  10. 阿里云ECS的CPU100%排查

    一.背景和现象 初创公司,架构lanmp,web前端和后端分开服务器,业务驱动主要是nginx和apache,nginx主要是处理静态文件和反向代理,前后端.搜索引擎.缓存.队列等附加的服务都是用do ...