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. bzoj 1369: Gem 树形dp

    题目大意 给出一棵树,要求你为树上的结点标上权值,权值可以是任意的正整数 唯一的限制条件是相临的两个结点不能标上相同的权值,要求一种方案,使得整棵树的总价值最小.N<=10000 题解 我们可以 ...

  2. robotium 测试APK<一> 建立测试工程

    1.准备Android开发环境 2.准备签名工具http://www.troido.de/re-sign.jar 1.建立测试工程 打开Eclipse,点击File->New一个Android ...

  3. sublime插件insertDate显示ISO时间

    1 下载insertDate插件以及安装完毕 2 把光标放在想插入ISO时间的地方 3 按住:alt+f5,之后,在sublime下面的Date format string输入:iso.之后按ente ...

  4. 分布式一致性协议之:Zab(Zookeeper的分布式一致性算法)

    Zookeeper使用了一种称为Zab(Zookeeper Atomic Broadcast)的协议作为其一致性复制的核心,据其作者说这是一种新发算法,其特点是充分考虑了Yahoo的具体情况:高吞吐量 ...

  5. qt 安装编译

    项目编译的时候提示 cannot find -lGL sudo apt-get install libgl1-mesa-dev

  6. PCL推荐的命名规范(2)

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=210 函数/成员函数命名 函数和类的成员函数的命名应该采用camelCase ...

  7. my emacs configuration

    modified from https://github.com/flyingmachine/emacs-for-clojure ;;;; ;; Packages ;;;; ;; Define pac ...

  8. 文件解析库doctotext安装和使用

    安装doctotext 1 安装GCC到4.6以上 tar jxf gcc-4.7.0.tar.bz2 cd gcc-4.7.0 编译 ./contrib/download_prerequisites ...

  9. SDN学习

    SDN & OpenFlow & Open vSwitch SDN SDN(软件定义网络)是一个概念.是一个思想.一个框架.是一种网络设计理念,它有三个特征 控制平面与转发平面分离 控 ...

  10. SP2-0734: 未知的命令开头 “IMP ” - 忽略了剩余的行

    描述 在cmd命令窗口中使用imp命令将dmp文件导入到oracle中时,出现了错误: SP2-0734: 未知的命令开头 “IMP ” - 忽略了剩余的行,如图 原因 imp命令是oracle提供的 ...