
API网关的知识
它是什么
API
Application Programming Interface;\n应用程序接口,理解为一个功能,方法。
网关
是转发其他服务器通信数据的服务器,\n接收从客户端发送来的请求时,它就\n像自己拥有资源的源服务器一样对请\n求进行处理。
API网关定义
网关的角色是作为一个 API 架构,\n用来保护、增强和控制对于 API 服务的访问
简介
API 网关是一个处于应用程序或服务(提供 \nREST API 接口服务)之前的系统,用来管\n理授权、访问控制和流量限制等,这样 \nREST API 接口服务就被 API 网关保护起来,\n对所有的调用者透明。因此,隐藏在 API \n网关后面的业务系统就可以专注于创建和\n管理服务,而不用去处理这些策略性的基础设施
作用
API网关聚合众多服务的API并提供统一接入点,\n外部请求访问这个接入点,即可访问内部所\n有服务的API
本质
API 网关不是一个典型的业务系统, 而是一个\n为了让业务系统更专注与业务服务本身,给API\n服务提供更多附加能力的一个中间层
思考
计算机科学领域的任何问题都可以通过增加\n一个间接的中间层来解决。 —— David Wheeler
它的分类
流量网关:与业务逻辑不相关
关注稳定性与安全
1. 全局性流控\n2. 日志统计\n3. 防止SQL注入\n4. 防止web攻击\n5. 屏蔽工具扫描\n6. 黑白IP名单\n7. 证书/加解密处理
WAF的一般功能
1. 防止 SQL 注入,本地包含,部分溢出,fuzzing 测试,XSS/SSRF 等 Web 攻击\n2. 防止 Apache Bench 之类压力测试工具的攻击\n3. 屏蔽常见的扫描黑客工具,扫描器\n4. 屏蔽图片附件类目录执行权限、防止 webshell 上传\n5. 支持 IP 白名单和黑名单功能,直接将黑名单的 IP 访问拒绝\n6. 支持 URL 白名单,将不需要过滤的 URL 进行定义\n7. 支持 User-Agent 的过滤、支持 CC 攻击防护、限制单个 URL 指定时间的访问次数\n8. 支持支持 Cookie 过滤,URL 与 URL 参数过滤\n9. 支持日志记录,将所有拒绝的操作,记录到日志中去
开源产品
https://github.com/unixhot/waf\nhttps://github.com/loveshell/ngxluawaf
业务网关:与业务逻辑有一定的相关性
提供更好的服务
1. 服务级别流控\n2. 服务降级与熔断\n3. 路由与负载均衡,灰度策略\n4. 服务过滤,聚合与发现\n5. 权限验证与用户等级策略\n6. 业务规则与参数校验\n7. 多级缓存策略
它可以做什么
安全方面
认证,鉴权
黑白名单
日志跟踪
接口监控
稳定性保障方面
限流
降级
熔断
负载均衡、流控
业务数据缓存
基础功能
协议转换
有关于它的产品
主流的开源产品
OpenResty
Ningx+lua
Kong
Ningx+lua
Zuul2
java
SpringCloudGateway
java
性能对比
商用产品
Amazon API Gateway,https://aws.amazon.com/cn/api-gateway/\n阿里云API网关,https://www.aliyun.com/product/apigateway/\n腾讯云API网关, https://cloud.tencent.com/product/apigateway
实践
各公司的实践案例
京东:http://www.yunweipai.com/archives/23653.html\n有赞网关:https://tech.youzan.com/api-gateway-in-practice/\n唯品会:https://mp.weixin.qq.com/s/gREMe-G7nqNJJLzbZ3ed3A\nZuul:http://www.scienjus.com/api-gateway-and-netflix-zuul/
参考:
https://gitbook.cn/books/5bbb3d2a61d11c2d996be26b/index.html
https://blog.youkuaiyun.com/pushiqiang/article/details/95726137
https://blog.youkuaiyun.com/li563868273/article/details/102920677
https://blog.youkuaiyun.com/zhurhyme/article/details/73437659
https://blog.youkuaiyun.com/wnvalentin/article/details/100083874
https://mp.weixin.qq.com/s/Hxho3_ZP3dgsHKEulJoBHg
https://blog.youkuaiyun.com/weixin_40584932/article/details/81037436
https://zhuanlan.zhihu.com/p/44642205
https://www.cnblogs.com/bluedoctor/p/8967951.html
本文深入解析API网关的概念、作用及其实现方式。涵盖了API网关的安全特性、稳定性保障措施及其实现的基础功能,并介绍了主流的开源产品及其商用解决方案。
514

被折叠的 条评论
为什么被折叠?



