功能点 功能点介绍
认证 支持4种认证方式,包括:Baisc认证、JWT认证、微信小程序Token认证、NULL认证(放行)
鉴权 支持2种授权方式,包括:基于接入应用进行授权、NULL授权(放行)
流量管控 支持2种流程管理,包括:1、基于客户端应用进行流量管控,防止客户端恶意获取数据。 2、基于API的流量管理,保护上游服务。
缓存 缓存API后端服务返回的数据,降低后端服务压力。
安全防护 保护API的安全是API网关重任。 1、客户端身份认证;2、只有授权的应用才能访问对应的API。3、公私钥算法保护API接口调用和数据传输安全。4、IP白名单、黑名单机制。5、通过组件二次开发可以扩展很多定制安全功能,如:设备id,地理位置、敏感数据二次检验等。
服务路由 识别请求参数和路径转发上游API服务。
日志记录 默认以分钟纬度对API调用情况进行汇总记录,也支持配置第三方服务记录完整的API调用详细信息,方便自定义审计和统计。
服务注册和暴露 支持Http rest、Webservice服务注册和暴露。
负载均衡 支持网关内部负载均衡,用户可以选择注册代理和服务实例地址。
服务编排(开发中) 将多个后端服务聚合成一个API暴露,减小客户端开发复杂度,快速生产新的API。
超时控制 通过API配置访问超时时间,超时后立即返回,避免工作线程长时间等等。
灰度发布 产品支持让指定部分客户端应用使用新版本API,其他应用继续使用以前的API,当新版本的API逐渐稳定后,所有用户能平滑过渡到新版本的API。使用灰度发布能够及早获得用户的意见反馈,完善产品功能,提升产品质量。让用户参与产品测试,加强与用户互动,降低产品升级所影响的用户范围。
熔断 后端服务N秒内连续50%调用出现超时或者异常,系统自动熔断该服务,M秒后尝试恢复链路;该机制可以有效避免无效等等。
动态配置更新 运行时变更API、分组、组件等配置,自动同步、及时生效。
API系统迁移 支持API以系统维度接入API网关,自动纪录API,让API系统迁移自动化。
高可用 产品支持企业级高可用部署,避免单点故障。
高性能 网关无状态,支持横向扩展,运行时弱依赖持久层,最大化提升网关整体性能。
分布式缓存(redis) 当系统API缓存量大时,可使用redis集群提高系统的响应。
自定义组件开发 采用组件化的架构,可根据需求通过开发组件匹配企业需求。
管理中心 API网关后台管理中心简洁明了,方便API网关管理员对API进行管理,数据面板方便了解系统运行情况。
监控中心 监控中心对API运行情况一目了然,通过分析API异常告警辅助系统运维。
微信小程序支持 对小程序类型的客户端应用进行了特殊处理,简化小程序对微信用户进行认证,后端服务只需要关系业务逻辑。
...

01

自定义组件扩展

1)除产品内置的组件外,用户可以根据行业需求自定义组件,输出成Jar包,通过Admin上传发布即可。

2)网关根据API配置动态加载新的组件,无需重启服务器。


02

多维度的认证授权策略

1)网关提供多种认证模式,如:Token、Basic、IP地址等,只有通过认证的客户端才能进一步访问网关暴露的服务。

2)认证通过后再检测客户端是否有权限访问指定的API

...

...

03

流量控制策略

1)在APIGW Admin中配置API流量阈值,如:每秒、每分、每小时的请求次数限制,当流量超过阈值,新来的请求会被网关拦截,确保后端服务可以正常运行。

2)客户可以根据需求选择集群或者单网关节点的流量控制;


04

服务编排控制

1)服务编排:对于APP或者前端Web应用,存在一个页面需要集成多个后端服务数据的情况而其是远程连接,导致大部分的时间都消耗在建立连接上; 为此可以通过管理中心将多个后端服务编排成一个新的服务,由网关将每个后端服务的数据聚合后再返回给客户端,提高页面的响应速度。

2)服务超时和熔断处理:网关对于稳定性和性能要求非常高,不能因为个别API响应缓慢或者无法提供服务导致整个网关堵塞。为此网关为所有注册的API提供了超时处理机制,管理员可以根据API的特点设置合理的超时时间,当响应超时网关直接返回超时异常或者API预设置的异常返回数据; 如果某个API服务连续多次请求无响应,系统会自动熔断对该API的请求,从而避免每次请求过来都需要触发超时和服务返回异常才返回客户端,当服务恢复后网关会自动恢复熔断链路。

...

...

05

服务转换与数据缓存

1)后端服务路由和协议转换:网关对外统一暴露的是Rest服务,但后端服务确实多样的,客户开发人员可以根据后端服务接口类型开发不同的路由转换组件。按照约定的格式打成Jar包,通过管理中心发布即可使用; 网关默认提供Rest风格的服务路由。

2)API数据缓存:对于查询类型且数据变化不频繁的API,适当的缓存设置可以有效降低后端服务的压力;管理人员可以根据API服务的特点配置是否需要缓存已经缓存更新的策略。 网关接收到请求后会判断API是否有设置缓存,如果有且缓存未过期网关直接从缓存提取数据并返回给客户端,如果已经过期则通过路由组件访问后端后在更新缓存;该机制对后端服务开发人员是透明的,只需要在管理中心设置即可生效。