北京中科聚网信息技术有限公司
平台产品
资源管理平台 .数据注册/发现(API网关)

资源管理平台 .数据注册/发现(API网关)

应用架构

整个平台拆分成3个子系统,Gateway-Core(核心子系统)、Gateway-Admin(管理中心)、Gateway-Monitor(监控中心)。

Gateway-Core负责接收客户端请求,调度、加载和执行组件,将请求路由到上游服务端,处理上游服务端返回的结果等;

Gateway-Admin提供统一的管理界面,用户可在此进行API、组件、系统基础信息的设置和维护;

Gateway-Monitor负责收集监控日志、生成各种运维管理报表、自动告警等。

2021092315111632381078867065428.png

系统架构

1、网关核心子系统通过HAProxy或者Nginx进行负载均衡,为避免正好路由的LB节点服务不可用,可以考虑在此基础上增加Keepalived来实现LB的失效备援,当LB Node1停止服务,Keepalived会将虚拟IP自动飘移到LB2,从而避免因为负载均衡器导致单点故障。DNS可以直接指向Keepalived的虚拟IP。

2、网关除了对性能要求很高外,对稳定性也有很高的要求,引入Zookeeper及时将Admin对API的配置更改同步刷新到各网关节点。

3、管理中心和监控中心可以采用类似网关子系统的高可用策略,如果嫌麻烦管理中心可以省去Keepalived,相对来说管理中心没有这么高的可用性要求。

4、理论上监控中心需要承载很大的数据量,比如有1000个API,平均每个API一天调用10万次,对于很多互联网公司单个API的量远远大于10万,如果将每次调用的信息都存储起来是不现实的,也没有太大的必要。可以考虑将每个API每分钟的调用情况汇总后进行存储,比如1分钟的平均响应时间、次数、流量、正确率等等。

5、数据库选型可以灵活考虑,原则上网关在运行时要尽可能减少对DB的依赖,否则IO延时会严重影响网关性能。可以考虑首次访问后将API配置信息缓存,Admin对API配置更改后通过Zookeeper通知网关刷新,这样一来DB的访问量可以忽略不计,团队可根据自身偏好灵活选型。

2021092315121632381142447032358.png

分组管理

分组是Api的管理单元。每个分组下可以有多个Api,可以为当前时刻下的分组内的所有Api进行统一的配置。

2021092315131632381192391042359.png

API管理

API管理实现API接口的管理和调度工作。API的管理方式包括通过Swagger进行API接口的管理和API在线测试管理、API参数的管理及API绑定信息的管理等。

2021092315141632381285537033109.png

限流策略

API设置面向外部系统的调用进行安全性、稳定性、保密性等方面的参数设置。API设置中的功能设置包括限流策略管理、IP规则管理、应用授权管理和签名密匙管理等。

2021092315151632381327313050559.png

IP规则

IP规则针对访问源的IP指定相应的访问策略规则。只有负责用户定义规则的IP才能够接收API网关提供的服务。平台支持规格的新建、修改、删除、查询、导出等基本功能。

2021092315171632381440124083522.png

应用管理

提供API网关服务相关应用的集中管理。应用管理支持应用的创建、编辑、删除、查询、查看详情、Excel导出等管理。

2021092315191632381585933061224.png

网关日志

网关日志在后台运行,自动记录对api的每一次访问,可以查询及删除网关日志,也可对当前系统中存在的网关日志进行统计。

2021092315191632381557904053070.png

告警规则及日志

警告规则可以理解为对网关日志设置的阈值,在单位时间内,如果指定类别的网关日志产生的数量超出阈值,则会生成警告日志。警告日志是对过往一段时间的网关日志的统计小结,所以会延后一段时间才会产生。

2021092315201632381634788008340.png

北京总部
  • 北京市海淀区大钟寺13号华杰大厦B座3层306-310室
  • 010-56181910
郑州子公司
  • 郑州市紫荆山路56号
石家庄
  • 新华路294号盛安大厦
乌鲁木齐
  • 沙依巴克区黑龙江路146号
呼和浩特
  • 新城区呼伦贝尔北路
Copyright 2011-2022 All Rights Reserved | 京ICP备13013562号

微信号

抖音号