[发明专利]一种基于反向代理的接口调用系统在审
申请号: | 202110392902.4 | 申请日: | 2021-04-13 |
公开(公告)号: | CN113114765A | 公开(公告)日: | 2021-07-13 |
发明(设计)人: | 段军;李丽娟;霍曦;邹昆;原小卫;郭春江;林飞虎 | 申请(专利权)人: | 成都九洲电子信息系统股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/66 |
代理公司: | 成都虹盛汇泉专利代理有限公司 51268 | 代理人: | 周永宏 |
地址: | 610041 四川省成都市高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 反向 代理 接口 调用 系统 | ||
本发明公开一种基于反向代理的接口调用系统,应用于计算机领域,针对现有的接口调用技术无法适应大型软件系统的问题,本发明的系统设计为网关、执行节点组成,网关基于反向代理模式,通过请求网关向节点反向调用方式,实现分布式架构,形成负载均衡,从而分散执行压力;然后接口调用时通过JSON进行透明传输,其中接口将附带版本信息,同一接口允许多个版本,实现迭代开发中的版本互换功能;接口设计中包含开发组概念,允许多个调用方划归为一个组,组之间数据与调度互不干扰,避免了多人协同开发中断点干扰问题;由于采用restful作为传输协议,因此接口与语言无关,可以实现跨语言协作开发。
技术领域
本发明属于计算机领域,特别涉及一种接口调用技术。
背景技术
由于大型软件系统建设因业务复杂性往往需要依赖多次迭代,容易导致接口的性能瓶颈、接口版本混乱、重复开发等多种问题,从而致使进度滞后、无法保质保量完成研发工作。因此拟设计一种基于反向代理的接口调用模型,实现了以分布式部署方式完成负载均衡;通过接口注册方式实现版本管理。
发明内容
为解决上述技术问题,本发明提出一种基于反向代理的接口调用系统。
本发明采用的技术方案为:一种基于反向代理的接口调用系统,包括:请求客户端、网关服务、执行节点;所述请求客户端用于发送请求调用函数,所述网关服务根据调用函数确定选择执行节点,选择的执行节点将执行结果返回网关服务,网关服务将收到的执行结果输出给请求客户端;
所述网关服务包括:API注册服务单元、API缓存池、API调用器;所述API注册服务单元以TCPServer方式监听函数注册端口,接收来自执行节点的函数注册;
所述API缓存池用于保存执行节点信息和被调函数;
API调用器用于在执行函数查找时,获取相应的执行节点;
所述执行节点包括:API采集器、节点服务单元、执行器;
所述API采集器用于提取函数注解信息,形成函数清单向网关服务进行注册;
所述节点服务单元作为TCPServer形式监听被调用端口,以TcpClient方式连接网关服务进行API函数注册;
所述执行器用于执行指定的函数逻辑。
所述网关服务采用SpringBoot作为底层容器,提供一个统一的RESTFUL调用接口。
调用函数的请求入参的数据类型为JSON。
所述请求入参包括:请求的IP地址、函数名称、函数版本号以及函数接收的参数信息。
API缓存池是在网关服务中以内存方式缓存API列表,是由网关服务启动时所初始化创建,以列表方式保存执行函数名和所指向的执行节点IP端口等信息。执行节点在注册API时同时提交自身所属的开发组信息,在API注册服务单元上形成函数列表,添加至API缓存池。
接口函数注册在API缓存池的开发组中。
开发组是为了隔离多开发者的同时调试,以防止断点的相互干扰而设计。通过Group值将API列表进行分组,在调用时以Group字段对API函数进行筛选。执行节点在注册API时则提交其开发组Group信息,API函数信息则以HashMap方式定义其函数映射关系、节点映射关系,以列表形式保存在相应的开发组中。
函数映射关系具体为:由IP端口作为键,函数列表为值形成对应。
节点映射关系具体为:以函数名为键、调用节点为值形成对应。
所述API调用器获取相应的执行节点的过程为:首先由所请求数据的开发组获取API列表,然后通过函数名获取执行节点列表,最后通过所配置的负载均衡算法获取相应的执行节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都九洲电子信息系统股份有限公司,未经成都九洲电子信息系统股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110392902.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高集成度星载雷达天线
- 下一篇:基于应用交付网络需求的部署方法及装置