CN112804722A - 一种微服务网关动态路由的实现方法 - Google Patents

一种微服务网关动态路由的实现方法 Download PDF

Info

Publication number
CN112804722A
CN112804722A CN202011630642.1A CN202011630642A CN112804722A CN 112804722 A CN112804722 A CN 112804722A CN 202011630642 A CN202011630642 A CN 202011630642A CN 112804722 A CN112804722 A CN 112804722A
Authority
CN
China
Prior art keywords
routing
micro service
configuration
service gateway
gateway
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011630642.1A
Other languages
English (en)
Inventor
陈萌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202011630642.1A priority Critical patent/CN112804722A/zh
Publication of CN112804722A publication Critical patent/CN112804722A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及计算机应用领域,具体提供了一种微服务网关动态路由的实现方法,客户端向微服务网关发送请求,根据路由配置信息,匹配请求Path、请求Header和请求Method信息,将请求转发至微服务应用,微服务网关依据动态路由规则实现核心路由转发。与现有技术相比,本发明解决了修改配置文件需要重启的问题,Web图形化操作简化了管理维护流程,实现简洁、高效、灵活、安全和统一的微服务网关动态路由管理,减少系统调试和系统运维的工作量。

Description

一种微服务网关动态路由的实现方法
技术领域
本发明涉及计算机应用领域,具体提供一种微服务网关动态路由的实现方法。
背景技术
在微服务+多端应用架构系统中,随着业务范围的扩大,服务数量的激增,微服务应用越来越多,每个微服务应用多实例部署,这种部署架构下,对于软件研发的开发、测试、运维等环节都面临着不小的工作压力。随着架构的升级,微服务应用需要越来越专注,专注于自己的角色,用户应用负责用户信息的维护和管理以及查询,认证应用负责用户的认证授权和权限管理,诸如此类。
面对越来越多的客户端,移动端(移动APP、微信端、微信小程序、微信公众号等)、PC端等,在没有网关的情况下,客户端需要调用多个服务才能完成一个业务需求,在客户端直接与微服务应用通信,会存在以下可能和风险:
一个业务往往需要多个微服务接口协调完成,这样就需要客户端发起多次的微服务的网络请求,客户端同时要维护微服务应用的地址,增加了客户端的复杂度,增加了网络和业务压力;同时客户端在发起微服务请求时存在跨域的可能,部分场景下存在无法解决的风险;由于每个服务都需要独立认证,增大了认证微服务应用压力;某些核心微服务使用防护墙防护,客户端无法提供直接访问。
往往需要一个独立的应用来统一处理负载均衡、安全防护、流量管控等功能,这样微服务网关便孕育而生。微服务网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过微服务网关。微服务网关不负责处理具体的业务,仅负载均衡、安全防护、流量管控、路由转发等公共基础类的功能。
微服务网关的选型有很多种,例如Nginx、Zuul、Kong等,基于Spring Cloud微服务生态,选择Spring Cloud Gateway作为微服务网关。微服务网关的路由配置相对复杂,系统上线调试初期可能会出现频繁修改和变更路由配置,以适应业务需求,但每次修改配置后路由无法实时生效,晦涩难懂的yml配置,对于运维人员不够友好。多实例微服务网关的部署架构下,网关节点的增多也给运维带来了更多的的工作量,排查和检查问题时会更加困难。
发明内容
本发明是针对上述现有技术的不足,提供一种实用性强的微服务网关动态路由的实现方法。
本发明解决其技术问题所采用的技术方案是:
一种微服务网关动态路由的实现方法,客户端向微服务网关发送请求,根据路由配置信息,匹配请求Path、请求Header和请求Method信息,将请求转发至微服务应用,微服务网关依据动态路由规则实现核心路由转发。
进一步的,在微服务网关管理填写路由名称、路由编码、路由前缀和路由方式,微服务网关管理调用服务配置中心将网关的路由配置信息存入配置中心,服务配置中心向订阅配置的微服务网关分布路由配置信息。
进一步的,订阅路由配置信息的微服务网关在接收到路由信息后,调用refresh操作刷新微服务网关内存中的路由配置信息,向多个微服务网关分发订阅数据,配合服务配置中心的回滚配置,用于实现路由配置误操作的快速回滚。
进一步的,具体分为两部分:
S1、管理流程
S101、发布路由配置;
S102、同步配置;
S103、分发路由配置;
S2、路由转发
S201、发起请求;
S202、负载到微服务网关;
S203、请求转发。
进一步的,在S101发布路由配置中,管理员在管理端录入路由信息后,发布路由配置,路由配置以yml格式管理。
进一步的,在步骤S102同步配置中,服务配置中心接收到路由配置信息后,写入配置中心数据库,配置数据主键gateway-route.yml,配置分组GATEWAY_GROUP。
进一步的,在步骤S103分发路由配置中,配置中心存储更新路由配置的同时,向订阅配置信息的微服务网关分发路由配置信息,微服务网关收到路由配置信息后,调用refresh操作,更新网关内存中的路由表配置信息。
进一步的,在步骤S201发起请求中,用户从用户端发起网络请求,到达负载均衡设备。
进一步的,在步骤S202负载到微服务网关中,负载均衡设备转发流量到微服务网关的实例上。
进一步的,在步骤S203请求转发中,为服务网关根据路由配置信息,通过匹配Path,将网络请求转发到微服务应用,微服务应用处理请求后做出响应返回用户端。
本发明的一种微服务网关动态路由的实现方法和现有技术相比,具有以下突出的有益效果:
本发明能为微服务架构中的微服务网关提供动态路由管理方式,完全替代对微服务网关路由配置文件的编码式操作,并解决了修改配置文件需要重启的问题,Web图形化操作简化了管理维护流程,实现简洁、高效、灵活、安全和统一的微服务网关动态路由管理,减少系统调试和系统运维的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1是一种微服务网关动态路由的实现方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
下面给出一个最佳实施例:
如图1所示,本实施例中的一种微服务网关动态路由的实现方法,客户端向微服务网关发送请求,微服务网关接收到请求,根据路由配置信息,匹配请求Path、请求Header、请求Method(POST/GET)等信息,将请求转发至微服务应用,微服务网关依据的动态路由规则实现核心路由转发功能。
在微服务网关管理填写路由名称、路由编码(默认使用服务名称即可,即application.name)、路由前缀(/path/**)、路由方式(负载均衡/反向代理)等信息,微服务网关管理调用服务配置中心将网关的路由配置信息存入配置中心;服务配置中心向订阅配置的微服务网关发布路由配置信息。
订阅路由配置信息的微服务网关在接收到路由信息后,调用refresh操作刷新微服务网关内存中的路由配置信息,无需重新启动微服务网关,同时可以向多个微服务网关分发订阅数据。同时,配合服务配置中心的回滚配置功能,可以实现路由配置误操作的快速回滚。
一、管理流程
S101、发布路由配置,管理员在管理端录入路由信息后,发布路由配置,路由配置以yml格式管理,路由配置数据结构体如下:
Figure BDA0002874615520000041
关键数据结构说明:
id:路由主键
uri:微服务应用的名称
Path:路由路径,用户端请求访问的前缀
S102、同步配置,服务配置中心接收到路由配置信息后,写入配置中心数据库,配置数据主键:gateway-route.yml,配置分组:GATEWAY_GROUP。
S103、分发路由配置,配置中心存储更新路由配置的同时,向订阅配置信息(配置数据主键:gateway-route.yml,配置分组:GATEWAY_GROUP)的微服务网关分发路由配置信息。微服务网关收到路由配置信息后,调用refresh操作,更新网关内存中的路由表配置信息,及时生效,不再需要人工重启微服务网关。
二、路由转发
S201、发起请求,用户从用户端发起网络请求,到达负载均衡设备(例如Nginx、Apache等)。
S202、负载到微服务网关,负载均衡设备转发流量到微服务网关的某个实例上。
S203、请求转发,微服务网关根据路由配置信息,通过匹配Path等方式,将网络请求转发到微服务应用,微服务应用处理请求后做出响应返回用户端。
上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种微服务网关动态路由的实现方法权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种微服务网关动态路由的实现方法,其特征在于,客户端向微服务网关发送请求,根据路由配置信息,匹配请求Path、请求Header和请求Method信息,将请求转发至微服务应用,微服务网关依据动态路由规则实现核心路由转发。
2.根据权利要求1所述的一种微服务网关动态路由的实现方法,其特征在于,在微服务网关管理填写路由名称、路由编码、路由前缀和路由方式,微服务网关管理调用服务配置中心将网关的路由配置信息存入配置中心,服务配置中心想订阅配置的微服务网关分布路由配置信息。
3.根据权利要求2所述的一种微服务网关动态路由的实现方法,其特征在于,订阅路由配置信息的微服务网关在接收到路由信息后,调用refresh操作刷新微服务网关内存中的路由配置信息,向多个微服务网关分发订阅数据,配合服务配置中心的回滚配置,用于实现路由配置误操作的快速回滚。
4.根据权利要求3所述的一种微服务网关动态路由的实现方法,其特征在于,具体分为两部分:
S1、管理流程
S101、发布路由配置;
S102、同步配置;
S103、分发路由配置;
S2、路由转发
S201、发起请求;
S202、负载到微服务网关;
S203、请求转发。
5.根据权利要求4所述的一种微服务网关动态路由的实现方法,其特征在于,在S101发布路由配置中,管理员在管理端录入路由信息后,发布路由配置,路由配置以yml格式管理。
6.根据权利要求4所述的一种微服务网关动态路由的实现方法,其特征在于,在步骤S102同步配置中,服务配置中心接收到路由配置信息后,写入配置中心数据库,配置数据主键gateway-route.yml,配置分组GATEWAY_GROUP。
7.根据权利要求4所述的一种微服务网关动态路由的实现方法,其特征在于,在步骤S103分发路由配置中,配置中心存储更新路由配置的同时,向订阅配置信息的微服务网关分发路由配置信息,微服务网关收到路由配置信息后,调用refresh操作,更新网关内存中的路由表配置信息。
8.根据权利要求4所述的一种微服务网关动态路由的实现方法,其特征在于,在步骤S201发起请求中,用户从用户端发起网络请求,到达负载均衡设备。
9.根据权利要求4所述的一种微服务网关动态路由的实现方法,其特征在于,在步骤S202负载到微服务网关中,负载均衡设备转发流量到微服务网关的实例上。
10.根据权利要求4所述的一种微服务网关动态路由的实现方法,其特征在于,在步骤S203请求转发中,为服务网关根据路由配置信息,通过匹配Path,将网络请求转发到微服务应用,微服务应用处理请求后做出响应返回用户端。
CN202011630642.1A 2020-12-31 2020-12-31 一种微服务网关动态路由的实现方法 Pending CN112804722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011630642.1A CN112804722A (zh) 2020-12-31 2020-12-31 一种微服务网关动态路由的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011630642.1A CN112804722A (zh) 2020-12-31 2020-12-31 一种微服务网关动态路由的实现方法

Publications (1)

Publication Number Publication Date
CN112804722A true CN112804722A (zh) 2021-05-14

Family

ID=75808212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011630642.1A Pending CN112804722A (zh) 2020-12-31 2020-12-31 一种微服务网关动态路由的实现方法

Country Status (1)

Country Link
CN (1) CN112804722A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965700A (zh) * 2021-05-17 2021-06-15 太平金融科技服务(上海)有限公司 基于路由的微服务处理方法、装置、计算机设备和介质
CN113315710A (zh) * 2021-05-29 2021-08-27 东方电子股份有限公司 基于异步动态路由的中台api网关管理配置及扩展方法
CN113347041A (zh) * 2021-06-21 2021-09-03 深圳壹账通智能科技有限公司 动态限流熔断配置方法、装置、设备及存储介质
CN113411234A (zh) * 2021-06-17 2021-09-17 杭州遥望网络科技有限公司 一种接口测试方法、系统及计算机可读存储介质
CN113452617A (zh) * 2021-06-24 2021-09-28 上海豹云网络信息服务有限公司 动态网关路由管理方法、装置及存储介质
CN113572689A (zh) * 2021-09-24 2021-10-29 深圳市信润富联数字科技有限公司 微服务网关管理方法、系统、设备、可读存储介质及产品
CN113726662A (zh) * 2021-08-19 2021-11-30 成都民航西南凯亚有限责任公司 一种微服务路由及管理系统插件
CN113794636A (zh) * 2021-08-11 2021-12-14 科大国创云网科技有限公司 一种基于Spring Cloud Gateway实现的动态路由编排方法及系统
CN114401320A (zh) * 2021-12-14 2022-04-26 杭州趣链科技有限公司 子应用访问方法、系统、区块链平台、网关及存储介质
CN114510266A (zh) * 2022-04-20 2022-05-17 武汉绿之云科技有限公司 一种一端发布轻应用且自动适配多终端使用的方法及系统
CN114866617A (zh) * 2022-04-28 2022-08-05 济南浪潮数据技术有限公司 一种微服务请求处理方法、装置、设备及介质
CN115102854A (zh) * 2022-07-21 2022-09-23 康键信息技术(深圳)有限公司 微服务的远程过程调用路由管理控制方法、系统及设备
CN115567442A (zh) * 2022-09-06 2023-01-03 山东浪潮智慧医疗科技有限公司 一种实现Spring Cloud动态路由的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900329A (zh) * 2018-06-21 2018-11-27 珠海宏桥高科技有限公司 基于网关基础服务的实时动态转发方法
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
CN111181860A (zh) * 2020-01-07 2020-05-19 苏宁云计算有限公司 基于zuul网关的路由转发方法、装置及系统
CN111277499A (zh) * 2020-01-14 2020-06-12 浙江华云信息科技有限公司 基于gateway网关实时生效的动态路由方法
CN111314141A (zh) * 2020-02-21 2020-06-19 腾讯云计算(北京)有限责任公司 路由更新方法及装置
CN111884917A (zh) * 2020-07-28 2020-11-03 浪潮云信息技术股份公司 基于微服务的网关系统及网关动态路由方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190273746A1 (en) * 2018-03-02 2019-09-05 Syntegrity Networks Inc. Microservice architecture for identity and access management
CN108900329A (zh) * 2018-06-21 2018-11-27 珠海宏桥高科技有限公司 基于网关基础服务的实时动态转发方法
CN111181860A (zh) * 2020-01-07 2020-05-19 苏宁云计算有限公司 基于zuul网关的路由转发方法、装置及系统
CN111277499A (zh) * 2020-01-14 2020-06-12 浙江华云信息科技有限公司 基于gateway网关实时生效的动态路由方法
CN111314141A (zh) * 2020-02-21 2020-06-19 腾讯云计算(北京)有限责任公司 路由更新方法及装置
CN111884917A (zh) * 2020-07-28 2020-11-03 浪潮云信息技术股份公司 基于微服务的网关系统及网关动态路由方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
博云技术社区: "微服务网关实战——Spring Cloud Gateway", 《博客园》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112965700A (zh) * 2021-05-17 2021-06-15 太平金融科技服务(上海)有限公司 基于路由的微服务处理方法、装置、计算机设备和介质
CN113315710A (zh) * 2021-05-29 2021-08-27 东方电子股份有限公司 基于异步动态路由的中台api网关管理配置及扩展方法
CN113411234A (zh) * 2021-06-17 2021-09-17 杭州遥望网络科技有限公司 一种接口测试方法、系统及计算机可读存储介质
CN113347041B (zh) * 2021-06-21 2022-03-01 深圳壹账通智能科技有限公司 动态限流熔断配置方法、装置、设备及存储介质
CN113347041A (zh) * 2021-06-21 2021-09-03 深圳壹账通智能科技有限公司 动态限流熔断配置方法、装置、设备及存储介质
CN113452617A (zh) * 2021-06-24 2021-09-28 上海豹云网络信息服务有限公司 动态网关路由管理方法、装置及存储介质
CN113452617B (zh) * 2021-06-24 2023-12-19 上海豹云网络信息服务有限公司 动态网关路由管理方法、装置及存储介质
CN113794636A (zh) * 2021-08-11 2021-12-14 科大国创云网科技有限公司 一种基于Spring Cloud Gateway实现的动态路由编排方法及系统
CN113794636B (zh) * 2021-08-11 2022-11-18 科大国创云网科技有限公司 一种基于Spring Cloud Gateway实现的动态路由编排方法及系统
CN113726662B (zh) * 2021-08-19 2023-02-10 成都民航西南凯亚有限责任公司 一种微服务路由及管理系统
CN113726662A (zh) * 2021-08-19 2021-11-30 成都民航西南凯亚有限责任公司 一种微服务路由及管理系统插件
CN113572689A (zh) * 2021-09-24 2021-10-29 深圳市信润富联数字科技有限公司 微服务网关管理方法、系统、设备、可读存储介质及产品
CN114401320A (zh) * 2021-12-14 2022-04-26 杭州趣链科技有限公司 子应用访问方法、系统、区块链平台、网关及存储介质
CN114510266A (zh) * 2022-04-20 2022-05-17 武汉绿之云科技有限公司 一种一端发布轻应用且自动适配多终端使用的方法及系统
CN114510266B (zh) * 2022-04-20 2022-10-21 武汉绿之云科技有限公司 一种一端发布轻应用且自动适配多终端使用的方法及系统
CN114866617A (zh) * 2022-04-28 2022-08-05 济南浪潮数据技术有限公司 一种微服务请求处理方法、装置、设备及介质
CN115102854A (zh) * 2022-07-21 2022-09-23 康键信息技术(深圳)有限公司 微服务的远程过程调用路由管理控制方法、系统及设备
CN115102854B (zh) * 2022-07-21 2024-05-14 康键信息技术(深圳)有限公司 微服务的远程过程调用路由管理控制方法、系统及设备
CN115567442A (zh) * 2022-09-06 2023-01-03 山东浪潮智慧医疗科技有限公司 一种实现Spring Cloud动态路由的方法及装置

Similar Documents

Publication Publication Date Title
CN112804722A (zh) 一种微服务网关动态路由的实现方法
CN108650262B (zh) 一种基于微服务架构的云平台扩展方法及系统
US8347378B2 (en) Authentication for computer system management
US8606897B2 (en) Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
CN107800565B (zh) 巡检方法、装置、系统、计算机设备和存储介质
US9152441B2 (en) Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster
US20170105144A1 (en) System and method for partitioned wireless telecommunication network deployment
CN115086176B (zh) 基于SpringCloud微服务技术实现服务治理策略动态下发的系统
US20140229620A1 (en) Method and system to enhance private cloud system provisioning security
CN115225493B (zh) 一种基于wireguard的组网节点的配置生成方法及设备
WO2017128713A1 (zh) 订阅消息的发布方法及装置
US11106763B2 (en) Systems and methods for transaction-based licensing
CN114448686B (zh) 一种基于微服务的跨网络通信装置与方法
CN115562757A (zh) 数据处理方法、配置中心系统、电子设备及存储介质
CN117097591B (zh) 一种应用安全接入网关系统及路由转发方法
CN108366087B (zh) 一种基于分布式文件系统的iscsi服务实现方法和装置
CN112910796B (zh) 流量管理方法、装置、设备、存储介质以及程序产品
CN114884964A (zh) 基于Tuxedo架构的业务风控方法和系统
CN117014175A (zh) 云系统的权限处理方法、装置、电子设备及存储介质
CN113259462B (zh) 区块链消息的分发方法及装置
CN115629909A (zh) 业务数据处理的方法、装置、电子设备和存储介质
US11290318B2 (en) Disaster recovery of cloud resources
JP2019135578A (ja) クラウドシステム、クラウドサーバ、エッジサーバおよびユーザ装置
US20210084553A1 (en) Systems and methods of managing communication endpoints
CN113271229B (zh) 设备控制方法及装置、存储设备、安全设备、交换机、路由器及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210514

RJ01 Rejection of invention patent application after publication