[发明专利]一种微服务网关接口暴露及聚合方法在审
申请号: | 202011510859.9 | 申请日: | 2020-12-18 |
公开(公告)号: | CN112685193A | 公开(公告)日: | 2021-04-20 |
发明(设计)人: | 陶石;孟小勇 | 申请(专利权)人: | 易久批信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京盛凡智荣知识产权代理有限公司 11616 | 代理人: | 张成文 |
地址: | 241000 安徽省芜湖*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 微服 网关 接口 暴露 聚合 方法 | ||
本发明公开了一种微服务网关接口暴露,包括接口暴露模块和网关聚合模块;所述接口暴露模块以二方包的形式发布,基于SpringBoot自动配置机制及Dubbo框架HTTP协议支持,可分为接口信息解析获取和业务请求处理两部分功能。本发明可简化开发流程,开发人员只需专注业务功能开发;无需开发人员专门开发维护聚合网关项目;可视化配置维护简洁方便;部署方便,一键操作即可部署到目标环境。
技术领域
本发明涉及微服务网关技术领域,具体涉及一种微服务网关接口暴露及聚合方法。
背景技术
随着业务的不断扩张,现有的Dubbo微服务规模也越来越大,在此之前常规做法是由人专门开发维护一个网关项目,将不同微服务的接口引入该项目,对外提供HTTP服务,对请求JSON数据进行反序列化转换为需要的数据类型然后调用后端微服务接口,对方法返回结果再序列化成JSON返回给请求者;但是当后端某一个微服务的接口新增或变更时该项目都需要频繁进行修改、构建、部署,所有的操作都需要人为编码处理,随着规模增大也更难以维护。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种微服务网关接口暴露及聚合方法。
技术方案:为实现上述目的,本发明提供如下技术方案:
一种微服务网关接口暴露,包括接口暴露模块和网关聚合模块;
所述接口暴露模块以二方包的形式发布,基于SpringBoot自动配置机制及Dubbo框架HTTP协议支持,可分为接口信息解析获取和业务请求处理两部分功能,两部分功能均注册一个Servlet对象,对http请求进行处理;
所述网关聚合模块由DevOps平台提供,将聚合网关部署到Kong上,
优选地,所述接口信息解析获取的功能为注册DubboHttpApiListServlet对象,请求地址映射为api-list,返回缓存的接口元数据信息,供网关聚合模块获取生成配置,初次请求该接口时初始化获取该微服务提供的接口信息。
优选地,所述接口信息包括通过Dubbo注解@Service提供的微服务接口和服务中原生的MVC接口。
优选地,所述获取接口信息包括以下步骤:
步骤一:从Spring上下文对象中获取所有包含Dubbo注解@Service的对象,获取对象实现的接口信息,取得接口的全限定名、方法名、方法参数数据类型、方法返回数据类型信息,并根据约定格式生成映射URL信息,对将获取到的所有接口信息组成约定格式元数据保存到缓存列表;
步骤二:原生MVC接口部分通过从Spring上下文获取RequestMappingHandlerMapping对象,从中获取所有注册的MVC接口信息,将获取到的所有接口信息组成约定格式元数据保存到缓存列表。
优选地,所述业务请求处理为原生MVC接口请求不做额外处理,由SpringMVC框架自身调度处理;DispatcherServlet实例分发处理,根据请求URL获取缓存的接口元数据信息,根据元数据信息中的方法参数数据类型对请求数据JSON反序列化操作,创建对应接口方法代理对象,使用反序列化后的数据发起调用,然后将返回结果JSON序列化后返回给请求发起者。
优选地,所述Kong是运行Nginx中的一个Lua应用程序,通过数据库和API维护配置信息,替代Nginx配置文件形式实现相关配置调整。
本实施例的一种微服务网关接口暴露的聚合方法,包括以下步骤:
步骤一:创建一个聚合网关实例,包含基础信息网关名称和域名,以及描述、负责人等额外信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于易久批信息技术有限公司,未经易久批信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011510859.9/2.html,转载请声明来源钻瓜专利网。