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