[发明专利]一种分布式高可用网关系统在审
申请号: | 202010371589.1 | 申请日: | 2020-05-06 |
公开(公告)号: | CN113630310A | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 李君彦;李玉福 | 申请(专利权)人: | 北京农信互联科技集团有限公司;北京农信互联数据科技有限公司;厦门农芯数字科技有限公司 |
主分类号: | H04L12/66 | 分类号: | H04L12/66;H04L29/06;H04L29/08;G06F11/36;G06F8/20 |
代理公司: | 北京智为时代知识产权代理事务所(普通合伙) 11498 | 代理人: | 王加岭;杨静 |
地址: | 100080 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 可用 网关 系统 | ||
本发明公开了一种分布式高可用网关系统,包括后台管理子系统和核心子系统;所述核心子系统接收来自服务请求端的服务请求并路由至后端服务接口;其中所述核心子系统包括安全控制组件、请求校验组件、数据获取组件和结果聚合组件;所述安全控制组件用于对于服务请求进行安全校验、限流和防刷;所述请求校验组件用于获取服务请求参数;所述数据获取组件用于将服务请求路由至后端服务接口;所述结构聚合组件用于将来自服务端的结果聚合,返回至服务请求端;所述后台管理子系统和核心子系统均采用分布式系统来实现。
技术领域
本发明属于分布式微服务网关系统,特别是涉及到分布式高可用网关系统。
背景技术
在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供Rest Api风格的接口来被H5,Android,IOS以及第三方应用程序调用。
但是在UI上进行展示的时候,我们通常需要在一个界面上展示很多数据,这些数据可能来自于不同的微服务中,举个例子来说明:在一个电商系统中,查看一个商品详情页,这个商品详情页包含商品的标题,价格,库存,评论等,这些数据对于后端来说可能是位于不同的微服务系统之中,可能我后台的系统是这样来拆分我的服务的:
产品服务-负责提供商品的标题,描述,规格等。
价格服务-负责对产品进行定价,价格策略计算,促销价等。
库存服务-负责产品库存。
评价服务-负责用户对商品的评论,回复等。
现在,商品详情页需要从这些微服务中拉取相应的信息,但是由于我们使用的服务系统架构,所以没办法像传统单体应用一样依靠数据库的join查询来得到最终结果,那么如何才能访问各个服务呢?按照微服务设计的指导原则,此时微服务可能存在下面的问题:
服务使用了多种协议,因为不同的协议有不同的应场景用,比如可能同时使用HTTP,AMQP,gRPC等。另外服务的划分可能随着时间而变化,而且服务的实例或者Host+端口可能会动态的变化。那么,对于前端的UI需求也可能会有以下几种:粗粒度的API,而微服务通常提供的细粒度的API,对于UI来说如果要调用细粒度的api可能需要调用很多次,这是个不小的问题。不同的客户端设备可能需要不同的数据,例如Web,H5,APP等,还有不同设备的网络性能,对于多个api来说,这个访问需要转移的服务端会快得多,离散的微服务难以满足这些要求。
为了解决这些问题,API网关技术正被开发和应用,API网关为微服务提供这些通用的功能,可以使得服务本身更专注于自己的领域,很好地对服务调用者和服务提供者做了隔离。例如kong基于nginx开发的API Gateway(可以认为是一个OpenResty应用程序),通过lua-nginx模块实现,底层使用Apache Cassandra或PostgreSQL数据库。开发者可以方便的添加已定义的插件,甚至可以自己开发插件并使用,来达到代理、负载均衡、健康检查、日志、登录等功能。
但是,现有的API网关功能并不完善,特别是现有技术中,使用外部API网关产品需要将调用关系链数据储存在对应产品的数据库中;另外也不满足多个接口结果的自定义聚合;不支持内网接口的访问;不支持协议的转换等,使用非常不便。
发明内容
为解决现有的API网关功能并不完善,特别是现有技术中,使用外部API网关产品需要将调用关系链数据储存在对应产品的数据库中;另外也不满足多个接口结果的自定义聚合;不支持内网接口的访问;不支持协议的转换等,使用非常不便等技术问题。提出一种分布式高可用网关系统,支持协议转换、部署方便灵活,而且存取高效灵活。
为了实现该技术效果,本发明采用了如下的技术方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京农信互联科技集团有限公司;北京农信互联数据科技有限公司;厦门农芯数字科技有限公司,未经北京农信互联科技集团有限公司;北京农信互联数据科技有限公司;厦门农芯数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010371589.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:蒸汽喷射冷却装置及系统
- 下一篇:一种水下推土机