微服务实践分享(2)api网关
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网关的更多相关文章
- 微服务架构之「 API网关 」
在微服务架构的系列文章中,前面已经通过文章<架构设计之「服务注册 」>介绍过了服务注册的原理和应用,今天这篇文章我们来聊一聊「 API网关 」. 「 API网关 」是任何微服务架构的重要组 ...
- .Net微服务实践(四)[网关]:Ocelot限流熔断、缓存以及负载均衡
目录 限流 熔断 缓存 Header转化 HTTP方法转换 负载均衡 注入/重写中间件 后台管理 最后 在上篇.Net微服务实践(三)[网关]:Ocelot配置路由和请求聚合中我们介绍了Ocelot的 ...
- .NET Core微服务二:Ocelot API网关
.NET Core微服务一:Consul服务中心 .NET Core微服务二:Ocelot API网关 .NET Core微服务三:polly熔断与降级 本文的项目代码,在文章结尾处可以下载. 本文使 ...
- 微服务技术栈:API网关中心,落地实现方案
本文源码:GitHub·点这里 || GitEE·点这里 一.服务网关简介 1.外观模式 客户端与各个业务子系统的通信必须通过一个统一的外观对象进行,外观模式提供一个高层次的接口,使得子系统更易于使用 ...
- 升级微服务架构5:API网关
API网关是一个服务器,是系统的唯一入口.从面向对象设计的角度看,它与外观模式类似.API网关封装了系统内部架构,为每个客户端提供一个定制的API.它可能还具有其它职责,如身份验证.监控.负载均衡.缓 ...
- 微服务架构下的API网关
顾名思义,是出现在系统边界上的一个面向API的.串行集中式的强管控服务,这里的边界是企业IT系统的边界,主要起到隔离外部访问与内部系统的作用.在微服务概念的流行之前,API网关的实体就已经诞生了,例如 ...
- 基于.NET CORE微服务框架 -谈谈surging API网关
1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://git ...
- 【微服务No.4】 API网关组件Ocelot+Consul
介绍: Ocelot是一个.NET API网关.该项目针对的是使用.NET运行微服务/面向服务架构的人员,他们需要一个统一的入口进入他们的系统.然而,它可以处理任何说HTTP并在ASP.NET Cor ...
- .Net微服务实践(三):Ocelot配置路由和请求聚合
目录 配置 路由 基本配置 占位符 万能模板 优先级 查询参数 请求聚合 默认聚合 自定义聚合 最后 在上篇.Net微服务实践(二):Ocelot介绍和快速开始中我们介绍了Ocelot,创建了一个Oc ...
随机推荐
- linux 网络编程getdomainname与gethostname函数
getdomainname与gethostname函数 1 gethostname() : 返回本地主机的标准主机名. 原型如下: #include <unistd.h> int geth ...
- Java se 知识图解
- 解决 maps to localhost, but this does not map back to the address
修改 /etc/ssh/ssh_config vim /etc/ssh/ssh_config GSSAPIAuthentication no
- XML配置中 引入外部property文件
新建properties配置文件 内容如下: jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc\:mysql\://localhost\ ...
- ACM学习历程—HDU 2795 Billboard(线段树)
Description At the entrance to the university, there is a huge rectangular billboard of size h*w (h ...
- 自己实现的vector
#include <iostream> #include <memory> using std::cout; using std::endl; using std::alloc ...
- Oracle字段增删改方法总结
一.修改字段的语法:alter table tablename modify (字段名 类型 [default value][null/not null],….);有一个表名为tb,字段段名为name ...
- JS---分解质因数
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- mysql Split函数
mysql没有split函数,这里手动写一个: ),)) BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS temp_split ( col ) ); DELETE ...
- qt5.3+vs2013乱码
解决qt5.3+vs2013乱码,在main函数之前加入 #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8&quo ...