1.作用【http://chuansong.me/n/465796751848】:

一个完整的、「面向接入」的API GW需要包含以下功能:

面向运行期

  • 对客户端实现身份认证

  • 通信会话的秘钥协商,报文的加密与解密

  • 日常流控与应急屏蔽

  • 内部响应报文的场景化裁剪

  • 支持「前正后反模型」的集成框架

  • 报文格式的转换

  • 业务路由的支撑

  • 客户端优先的超时机制

  • 全局流水号的生成与应用

  • 面向客户端支持HTTP DNS / Direct IP

面向开发期

  • 自助的沙盒测试环境

  • 面向客户端友好的 SDK / Library以及示例

  • 能够根据后端代码直接生成客户端业务代码框架

  • 完善的报文描述能力(元数据),支撑配置型的报文裁剪

面向运维与运营

  • 支持面向接入方的独立部署与快速水平扩展

  • 面向业务场景或合作伙伴的自助API开通

  • 对外接口性能与线上环境故障定位自助平台

2.选型:

https://github.com/Kong/kong

3.业界使用

淘宝(手淘)

http://www.infoq.com/cn/articles/taobao-mobile-terminal-access-gateway-infrastructure

手机淘宝从过去的HTTP API网关,

到2014年升级支持SPDY,

2015年双十一自研高性能、全双工、安全的ACCS

京东【http://developer.51cto.com/art/201711/557049.htm】

网关的四个技术方向:

爱奇艺

唯品会【https://609518.kuaizhan.com/86/70/p4108366952248f】

小豹【http://www.infoq.com/cn/articles/api-gateway-architecture-design】

HelloFresh【https://yq.aliyun.com/articles/134295】

蘑菇街:

广发证券

大疆

拍拍信

微服务实践分享(2)api网关的更多相关文章

  1. 微服务架构之「 API网关 」

    在微服务架构的系列文章中,前面已经通过文章<架构设计之「服务注册 」>介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」. 「 API网关 」是任何微服务架构的重要组 ...

  2. .Net微服务实践(四)[网关]:Ocelot限流熔断、缓存以及负载均衡

    目录 限流 熔断 缓存 Header转化 HTTP方法转换 负载均衡 注入/重写中间件 后台管理 最后 在上篇.Net微服务实践(三)[网关]:Ocelot配置路由和请求聚合中我们介绍了Ocelot的 ...

  3. .NET Core微服务二:Ocelot API网关

    .NET Core微服务一:Consul服务中心 .NET Core微服务二:Ocelot API网关 .NET Core微服务三:polly熔断与降级 本文的项目代码,在文章结尾处可以下载. 本文使 ...

  4. 微服务技术栈:API网关中心,落地实现方案

    本文源码:GitHub·点这里 || GitEE·点这里 一.服务网关简介 1.外观模式 客户端与各个业务子系统的通信必须通过一个统一的外观对象进行,外观模式提供一个高层次的接口,使得子系统更易于使用 ...

  5. 升级微服务架构5:API网关

    API网关是一个服务器,是系统的唯一入口.从面向对象设计的角度看,它与外观模式类似.API网关封装了系统内部架构,为每个客户端提供一个定制的API.它可能还具有其它职责,如身份验证.监控.负载均衡.缓 ...

  6. 微服务架构下的API网关

    顾名思义,是出现在系统边界上的一个面向API的.串行集中式的强管控服务,这里的边界是企业IT系统的边界,主要起到隔离外部访问与内部系统的作用.在微服务概念的流行之前,API网关的实体就已经诞生了,例如 ...

  7. 基于.NET CORE微服务框架 -谈谈surging API网关

    1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://git ...

  8. 【微服务No.4】 API网关组件Ocelot+Consul

    介绍: Ocelot是一个.NET API网关.该项目针对的是使用.NET运行微服务/面向服务架构的人员,他们需要一个统一的入口进入他们的系统.然而,它可以处理任何说HTTP并在ASP.NET Cor ...

  9. .Net微服务实践(三):Ocelot配置路由和请求聚合

    目录 配置 路由 基本配置 占位符 万能模板 优先级 查询参数 请求聚合 默认聚合 自定义聚合 最后 在上篇.Net微服务实践(二):Ocelot介绍和快速开始中我们介绍了Ocelot,创建了一个Oc ...

随机推荐

  1. linux 网络编程getdomainname与gethostname函数

    getdomainname与gethostname函数 1 gethostname() : 返回本地主机的标准主机名. 原型如下: #include <unistd.h> int geth ...

  2. Java se 知识图解

  3. 解决 maps to localhost, but this does not map back to the address

    修改  /etc/ssh/ssh_config vim  /etc/ssh/ssh_config GSSAPIAuthentication no

  4. XML配置中 引入外部property文件

    新建properties配置文件 内容如下: jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc\:mysql\://localhost\ ...

  5. ACM学习历程—HDU 2795 Billboard(线段树)

    Description At the entrance to the university, there is a huge rectangular billboard of size h*w (h ...

  6. 自己实现的vector

    #include <iostream> #include <memory> using std::cout; using std::endl; using std::alloc ...

  7. Oracle字段增删改方法总结

    一.修改字段的语法:alter table tablename modify (字段名 类型 [default value][null/not null],….);有一个表名为tb,字段段名为name ...

  8. JS---分解质因数

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. mysql Split函数

    mysql没有split函数,这里手动写一个: ),)) BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS temp_split ( col ) ); DELETE ...

  10. qt5.3+vs2013乱码

    解决qt5.3+vs2013乱码,在main函数之前加入 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8&quo ...