美文网首页
APIGateway设计的思路

APIGateway设计的思路

作者: 加大装益达 | 来源:发表于2020-08-07 22:10 被阅读0次

简述一下APIGateway的设计思路,准备从头写一个网关。

API网关的职能

  • 请求接入,承接所有外部请求。

  • 中介策略,承担了外部请求和实际服务中间的功能,比如:鉴权、验签、路由、流控、缓存、黑白名单过滤等等。

  • 业务聚合,所有后端业务服务都可以在这里聚合,通过某种方式将业务服务都聚集到这里。

  • 统一管理,提供管理工具、后台服务等等,可以对服务进行注册、修改以及各种配置。

API网关需要实现的功能

  • 流控,控制流量,针对同一个ip在指定的时间段内访问次数做限制

  • 验签解密,校验参数、验证签名信息、将加密的信息解密

  • 接口验证,验证接口是否存在、接口信息是否是当前调用者的接口

  • 接口权限验证,调用的ip是否在白名单内

  • 业务参数验证,校验业务接口参数是否正确

  • 调用业务接口,可以使用dubbo泛化调用

  • 熔断降级,业务方接口不可用的时候或者业务方处理速度变慢,考虑进行熔断降级

  • 加密返回,将调用结果封装、加密、返回

  • 管理控制台,负责接口服务注册、配置等

实现要点

  • 实现方式使用责任链模式,链中每个模块负责一个功能

  • 本地缓存和分布式缓存配合,需要考虑本地缓存的更新,可以使用zookeeper通知或者MQ通知

  • 异步处理请求,使用Jetty容器部署应用

  • 线程池隔离,请求接收、请求处理、服务调用可以使用不同线程池进行隔离

  • 日志记录,请求以及处理等日志记录,方便问题查询

  • 数据统计,接口的调用信息统计,方便直观查看接口调用情况

  • 报警监控,针对异常或者其他错误选择报警

源码:https://github.com/dachengxi/APIGateway

原文链接:https://cxis.me/2020/04/06/APIGateway%E8%AE%BE%E8%AE%A1%E7%9A%84%E6%80%9D%E8%B7%AF/

参考

相关文章

  • APIGateway设计的思路

    简述一下APIGateway的设计思路,准备从头写一个网关。 API网关的职能 请求接入,承接所有外部请求。 中介...

  • APIGateway总结

    用了几天时间来设计和实现一个APIGateway,这里进行一下文档和代码的汇总。 文档汇总: APIGateway...

  • APIGateway设计文档

    APIGateway的设计文档,包括整体架构和数据库设计。 整体架构 使用draw io画的图,这里是源文件:AP...

  • APIGateway

    概念介绍 APIGateway是微服务对外提供服务的一个屏障,它的核心点在于: 屏蔽微服务之间通过消息队列、rpc...

  • APIGateway简介

    1. APIGateway是什么 APIGateway 即API网关,所有请求首先会经过这个网关,然后到达后端服务...

  • 集中网关系列

    APIGateway 在学习 APIGateway 之前,首先应该清楚一些我们经常谈论或者平时使用的技术概念 1....

  • APIGateway中责任链模式的使用

    重新看一下责任链模式,在APIGateway设计中要用到责任链模式。简单写了代码测试下Spring中使用以及Apa...

  • 智能客服设计

    Chat-bot 设计思路 在下面介绍的设计思路过滤了一些细节。 阿里小蜜设计思路 腾讯客服设计思路 智能客服机器...

  • 设计思路

    确定页面类型 导航型 侧重路径引导和流量分发,有较强的运营性质。纯粹入口型,不同强弱使用不同的核心内容做做入口,引...

  • UI设计

    设计思路

网友评论

      本文标题:APIGateway设计的思路

      本文链接:https://www.haomeiwen.com/subject/htoqdktx.html