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、多种通信机制:如:同步、异步,基于消息?
api-gateway实践(15)API网关的待改进点 20171207的更多相关文章
- 浅谈API网关(API Gateway)如何承载API经济生态链
序言 API经济生态链已经在全球范围覆盖, 绝大多数企业都已经走在数字化转型的道路上,API成为企业连接业务的核心载体, 并产生巨大的盈利空间.快速增长的API规模以及调用量,使得企业IT在架构上.模 ...
- .net core 微服务之Api网关(Api Gateway)
原文:.net core 微服务之Api网关(Api Gateway) 微服务网关目录 1. 微服务引子 2.使用Nginx作为api网关 3.自创api网关(重复轮子) 3.1.构建初始化 3.2. ...
- 分享一个国内首个企业级开源的GO语言网关--GoKu API Gateway
一. 简介 GoKu API Gateway,中文名:悟空API网关,是国内首个开源go语言API网关,帮助企业进行API服务治理与API性能安全维护,为企业数字化赋能. GoKu API Gatew ...
- 几种部署Goku API Gateway的方式,最快一分钟可使用上网关
本文将介绍几种部署Goku API Gateway的方式,最快一分钟可使用上为网关,详情请看全文. 什么是Goku API Gateway? Goku API Gateway (中文名:悟空 API ...
- Why Do Microservices Need an API Gateway?
Why Do Microservices Need an API Gateway? - DZone Integration https://dzone.com/articles/why-do-micr ...
- 详解API Gateway流控实现,揭开ROMA平台高性能秒级流控的技术细节
摘要:ROMA平台的核心系统ROMA Connect源自华为流程IT的集成平台,在华为内部有超过15年的企业业务集成经验. 本文分享自华为云社区<ROMA集成关键技术(1)-API流控技术详解& ...
- Docker安装Kong API Gateway并使用
我最新最全的文章都在南瓜慢说 www.pkslow.com,文章更新也只在官网,欢迎大家来喝茶~~ 1 简介 Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即 ...
- 使用 WSO2 API Manager 管理 Rest API
WSO2 API Manager 简介 随着软件工程的增多,越来越多的软件提供各种不同格式.不同定义的 Rest API 作为资源共享,而由于这些 API 资源的异构性,很难对其进行复用.WSO2 A ...
- 谈谈微服务中的 API 网关(API Gateway)
前言 又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些干货了,就有人问我怎么最近没有更新博客了,在这里给大家抱歉. 那么,在本篇文章中,我们就一起来探 ...
随机推荐
- C++学习-6
1.Auto无法区分常量变量,引用常量(顶层const被忽略了),不能识别引用变量,const和&都无法识别 Auto不能放在结构体内部 2.decltype()能识别引用,能获取常量属性,t ...
- WebService下实现大数据量的传输
设置RemotingFormat = SerializationFormat.Binary;再序列化,通过WebService传输,客户端接收,再反序列化,确实效果大大的优于直接传送DataSet,不 ...
- npm打包前端项目太慢问题分析以及暂时解决方案
npm build 打包前端项目实际上是执行 node build/build.js,但是随着项目的依赖包越来越多,项目打包时间不断延长,为了改善这个问题,需要从node入手 暂时解决方案:扩大nod ...
- ibatis annotations 注解方式返回刚插入的自增长主键ID的值
mybatis提供了注解方式编写sql,省去了配置并编写xml mapper文件的麻烦,今天遇到了获取自增长主键返回值的问题,发现相关问答比较少,还好最后还是圆满解决了,现把重点记录一下,解决问题的关 ...
- Mac下使用终端连接远程使用ssh协议的git服务器
最近换了台新电脑, MacBook pro,拿到新电脑之后小小心喜了一下(终于解脱windows的束缚拥抱mac啦), 然后就开始苦逼的安装各种开发环境了. 之前在windows上使用tortoise ...
- 在oracle中,group by后将字符拼接,以及自定义排序
1.在oracle中,group by后将字符拼接.任务:在学生表中,有studentid和subject两个字段.要求对studentid进行group by分组,并将所选科目拼接在一起.oracl ...
- 笔记:I/O流-对象序列化
Java 语言支持一种称为对象序列化(Object Serialization)的非常通用的机制,可以将任何对象写入到流中,并在之后将其读回,首先需要支持对象序列化的类,必须继承与 Serializa ...
- JS时间处理由CST格式转成GMT格式时间
问题描述:js接收java后台的时间数据时,时间格式的CST时间,而js默认的是GMT时间格式,js 需要对这个时间进行处理才能使用,具体处理方法如function dateToGMT(sDate){ ...
- 使用gevent提高IO繁忙型wsgi服务的并发量(转)
add by zhj: 在Benchmark of Python WSGI Servers一文中,作者进行详细分析,得出的结论是gevent在所有WSGI Server(包括Tornado.Uwsgi ...
- 阿里云ECS的CPU100%排查
一.背景和现象 初创公司,架构lanmp,web前端和后端分开服务器,业务驱动主要是nginx和apache,nginx主要是处理静态文件和反向代理,前后端.搜索引擎.缓存.队列等附加的服务都是用do ...