简介
移动安全网关针对高并发、可管控的网关类需求,开发了Gateway组件,使用该组件基于通用的请求转发、流量控制、并发控制、安全过滤和路由等功能进行配置或二次开发,快速实现业务功能逻辑, 减少重复劳动。
架构设计
Gateway的技术架构如下图所示:

Gateway定义了请求接收、请求管控和请求回应等操作的基础接口和配置,业务项目可以使用网关的api基础接口进行网关的配置或利用提供的spi扩展接口进行二次开发以满足具体需求。
为保证网关的吞吐量、并发力、稳定性、可用性,Gateway的构建基于NIO和高性能网络框架Netty,并使用同步异步互转和Reactor Thread Pool等模式改进访问性能。为保证性能,降低磁盘IO操作,Gateway只记录error级别日志,不记录请求访问日志
在权限管理方面,Gateway默认提供基于IP白名单的校验和基于密钥签名的验证机制以及相应的扩展接口,以适配不同的数据,满足不同的权限控制需要。
在并发控制方面。Gateway提供了基于令牌桶的多级控制功能,针对不同的控制需求,可以针对整个网关的并发量进行控制,或针对指定对象的二级控制。指定对象包括访问者ip,访问api,或者由识别器识别出的报文中的特定值, 从而可以实现网关的总控,针对特定访问者的控制以及针对被访问api服务控制的多重控制。
Gateway针对不同的协议提供不同的配置渠道,可以完成同一网关多接入及多接出渠道的配置方式,不同的协议由具体的渠道完成协议的转换,转换为网关可以直接识别的消息体,或者由具体的渠道完成对外访问协议的转换
Gateway提供静态路由及动态路由的配置,同时路由表集成服务注册中心,可自动根据配置服务名实现服务的自发现。同时,不同的路由渠道可配置多个连接器,能够实现软负载均衡功能,支持轮询,哈希,权重,session绑定等算法。
专业术语说明: tesla:由民生银行信息科技部自主研发的具有完全知识产权的金融产品服务开发平台