CN111092816B - 网关动态路由方法、装置、计算机设备和存储介质 - Google Patents

网关动态路由方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111092816B
CN111092816B CN201911172370.2A CN201911172370A CN111092816B CN 111092816 B CN111092816 B CN 111092816B CN 201911172370 A CN201911172370 A CN 201911172370A CN 111092816 B CN111092816 B CN 111092816B
Authority
CN
China
Prior art keywords
tenant
identifier
routing rule
domain name
user request
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.)
Active
Application number
CN201911172370.2A
Other languages
English (en)
Other versions
CN111092816A (zh
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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CN201911172370.2A priority Critical patent/CN111092816B/zh
Publication of CN111092816A publication Critical patent/CN111092816A/zh
Application granted granted Critical
Publication of CN111092816B publication Critical patent/CN111092816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

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

Abstract

本申请涉及一种网关动态路由方法、装置、计算机设备和存储介质。所述方法包括:接收用户请求,用户请求携带租户域名和应用标识;根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;从路由规则中获取服务器集群标识对应的应用标识集合;根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;将用户请求转发至节点标识对应的微服务节点上。采用本方案能够提高网关路由的转发效率。

Description

网关动态路由方法、装置、计算机设备和存储介质
技术领域
本申请涉及网络技术领域,特别是涉及一种多租户网关动态路由方法、装置、计算机设备和存储介质。
背景技术
在网络技术的发展和应用软件的成熟,Software-as-a-service(SaaS,软件即服务)服务逐步取代传统的软件服务。SaaS服务是一种通过因特网(Internet)提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,并通过互联网获得厂商提供的服务。用户不需要自己购买软件,而改用通过向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护。
然而,公有云为数万家企业客户提供Saas服务,需要通过网关提供接入层的代理转发,导致网关路由转发效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够网关路由转发效率的网关动态路由方法、装置、计算机设备和存储介质。
一种网关动态路由方法,方法包括:
接收用户请求,用户请求携带租户域名和应用标识;
根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;
从路由规则中获取服务器集群标识对应的应用标识集合;
根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;
将用户请求转发至节点标识对应的微服务节点上。
在其中一个实施例中,在接收用户请求之前,方法还包括:
获取租户的租户信息;
根据租户信息,通过网关路由规则配置引擎生成路由规则。
在其中一个实施例中,租户信息包括租户域名;根据租户信息,通过网关路由规则配置引擎生成路由规则,包括:
通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表;
通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;
根据第一映射表和第二映射表生成路由规则。
在其中一个实施例中,租户信息包括租户域名和租户标识;根据租户信息,通过网关路由规则配置引擎生成路由规则,包括:
通过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表;
通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;
根据第一映射表和第二映射表生成路由规则。
在其中一个实施例中,根据租户域名从路由规则中查找与租户域名对应的服务器集群标识,包括:
根据租户域名查找与租户域名对应的租户标识;
根据租户标识查找与租户标识对应的服务器集群标识。
在其中一个实施例中,路由规则通过网关路由规则配置引擎分发到网关服务节点,并存储在网关服务节点对应的内存中;路由规则对应的第一映射表和第二映射表以哈希表数据结构形式存储。
在其中一个实施例中,将用户请求转发至节点标识对应的微服务节点上,包括:
把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。
一种网关动态路由装置,装置包括:
接收模块,用于接收用户请求,用户请求携带租户域名和应用标识;
查找模块,用于根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;
获取模块,用于从路由规则中获取服务器集群标识对应的应用标识集合;
确定模块,用于根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;
发送模块,用于将用户请求转发至节点标识对应的微服务节点上。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
接收用户请求,用户请求携带租户域名和应用标识;
根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;
从路由规则中获取服务器集群标识对应的应用标识集合;
根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;
将用户请求转发至节点标识对应的微服务节点上。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收用户请求,用户请求携带租户域名和应用标识;
根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;
从路由规则中获取服务器集群标识对应的应用标识集合;
根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;
将用户请求转发至节点标识对应的微服务节点上。
上述网关动态路由方法、装置、计算机设备和存储介质,通过接收用户请求,用户请求携带租户域名和应用标识;根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;从路由规则中获取服务器集群标识对应的应用标识集合;根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;将用户请求转发至节点标识对应的微服务节点上。不同用户请求携带的租户域名和应用标识不同,当获取到不同用户请求时,根据租户域名、应用标识和预先配置的路由规则之间的映射关系,实现把用户请求发送到所对应的微服务节点上的功能,提高网关路由的转发效率。
附图说明
图1为一个实施例中网关动态路由方法的应用环境图;
图2为一个实施例中网关动态路由方法的流程示意图;
图3为一个实施例中网关动态路由的原理框图;
图4为另一个实施例中网关动态路由方法的流程示意图;
图5为一个实施例中网关动态路由装置的结构框图;
图6为另一个实施例中网关动态路由装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的网关动态路由方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。接收用户请求,用户请求携带租户域名和应用标识;根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;从路由规则中获取服务器集群标识对应的应用标识集合;根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;将用户请求转发至节点标识对应的微服务节点上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种网关动态路由方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,接收用户请求,用户请求携带租户域名和应用标识。
其中,用户请求是用于终端通过发送用户请求向服务器请求对资源的访问。一个用户请求可包括请求头、请求行和请求体三部分。例如,用户请求可以是一个超文本传输协议(Hyper Text Transport Protocol,HTTP)请求,HTTP请求报文由请求行(requestline)、请求头(header)、请求体三部分组成,其中请求体中包括空行和请求数据两个部分。用户请求的请求头中携带了应用标识,用户请求的请求行中包括统一资源定位符(UniformResource Locator,URL),URL中携带了租户的域名,例如http://aaaa.bbbbb.com/bbs/viewthread.php?tid=1211344,其中携带的租户的域名是aaaa.bbbbb.com。不同的租户对应的不用的租户域名,例如,租户A对应的租户域名是aaa.com,租户B对应的租户域名是bbb.com。
应用标识是用于标识不同的应用的标识,应用标识可以由一串字符组成,字符可以是字母、数字和特殊符号等。例如,应用包括短信服务、销售服务、邮件服务、登录服务、报表服务等,每个应用有唯一对应的应用标识。
具体地,多租户网关接收用户请求,对用户请求进行解析,获取用户请求中请求头中的应用标识和请求行URL中的租户域名。
步骤204,根据租户域名从路由规则中查找与租户域名对应的服务器集群标识。
其中,路由规则包括根据租户域名和服务器集群之间的关系预先配置的路由规则。例如,租户A隶属于服务器集群1,租户B隶属于服务器集群2,建立的路由规则中的映射关系是:租户A的租户域名与服务器集群1的服务器集群标识映射;租户B的租户域名与服务器集群2的服务器集群标识映射。
服务器集群标识是用于标识不同的服务器集群。服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。服务器集群标识可以由一串字符组成,字符可以是字母、数字和特殊符号等。例如,服务器集群A对应的服务器集群标识可以为001,服务器集群A对应的服务器集群标识可以为002。
具体地,通过网关路由规则配置引擎根据提供方案集中配置管理,获得路由规则,并将配置的路由规则存储在数据库中,在多租户网关接收用户请求之前,多租户网关加载路由规则,接收到用户请求时,根据用户请求携带的租户域名从路由规则中查找与租户域名对应的服务集群标识。
步骤206,从路由规则中获取所述服务器集群标识对应的应用标识集合。
其中,路由规则中包括服务器集群标识与应用标识集合之间的映射关系。应用标识集合是指服务集群所支持的所有应用。在分布式服务中,通常把一个复杂的业务拆分成多个子业务,把每个子业务部署在不同的服务器上,即每个服务器上对应不同的应用实现不同的业务。
具体地,根据服务器集群标识通过查询路由规则,找到与服务器集群标识匹配的应用标识集合。
步骤208,根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识。
其中,微服务是指单个小型具有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。例如,邮箱服务中包括用户登录、用户注册、用户管理、邮件收发、邮件打印等服务,把邮箱的服务可拆分为多个微服务,每个微服务对应一个微服务节点,每一个微服务节点对应不同应用标识。
具体地,通过解析用户请求获取租户域名和应用标识,根据租户域名和路由规则获取租户域名所对应的服务器集群标识,根据服务器集群标识获取对应的应用标识集合;根据用户请求中携带的应用标识和服务器集群标识确定用户请求对应的微服务节点的节点标识。
步骤210,将用户请求转发至节点标识对应的微服务节点上。
具体地,网关路由引擎通过租户域名和应用标识、路有规则匹配到路由规则中租户域名对应的微服务接点,通过多租户网关把用户请求转发至节点标识对应的微服务节点上。
上述网关动态路由方法中,通过接收用户请求,用户请求携带租户域名和应用标识;根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;从路由规则中获取服务器集群标识对应的应用标识集合;根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;将用户请求转发至节点标识对应的微服务节点上。不同用户请求携带的租户域名和应用标识不同,当获取到不同用户请求时,根据租户域名、应用标识和预先配置的路由规则之间的映射关系,准确获取租户域名对应的微服务节点的节点标识,通过多租户网关路由把用户请求发送到所对应的微服务节点上,提高网关路由的转发效率。
在一个实施例中,在所述接收用户请求之前,所述方法还包括:
获取租户的租户信息;
根据所述租户信息,通过网关路由规则配置引擎生成路由规则。
其中,租户信息可以从数据库中获取,也可以是接收用户界面输入的新增的租户信息。
具体地,当需要新增租户时,获取新增租户的租户信息,通过网关路由规则配置引擎生成路由规则,生成的路由规则存储在远程字典服务数据库中(Remote DictionaryServer,Redis),可以持久化集中村存储。预先根据获取的租户信息配置路由规则,不需要修改任何配置脚本,新增路由规则时不需要中断原有的会话连接造成原有会话连接丢失,提高了路由规则的高效管理。
在一个实施中,租户信息包括租户域名,根据租户信息,通过网关路由规则配置引擎生成路由规则,包括:
通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据第一映射表和第二映射表生成路由规则。
具体地,通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表。例如,表1所示,为生成的第一映射表,表中的关键字key1为租户域名,表的Value1为服务集群标识。通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据第一映射表和第二映射表生成路由规则,如表2所示,为生成的第二映射表,表中的关键字key2为服务集群标识和,表的Value2为应用标识集合。路由规则以表格形式进行存储,提高路由规则的查找效率,进而提高路由的转发效率。
表1:
Key1 Value1
租户域名1 服务集群标识1
租户域名2 服务集群标识2
表2:
Key2 Value2
服务集群标识1 应用标识集合1
服务集群标识2 应用标识集合2
在一个实施中,租户信息包括租户域名和租户标识;根据租户信息,通过网关路由规则配置引擎生成路由规则,包括:
通过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据第一映射表和第二映射表生成路由规则。
其中,租户标识用于标记不同租户的标识,即租户ID(Identity document);租户标识可以由一串字符组成,字符可以是字母、数字和特殊符号等,例如,租户ID可以为1、2、3等数字。
具体地,过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表,如表3所示,为生成的第一映射表,表中的关键字key3为租户域名,表的Value1为租户标识,Value2为服务集群标识,租户域名与租户标识之间存在映射关系,租户标识隶属于对应的服务集群标识;通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据第一映射表和第二映射表生成路由规则。路由规则以表格形式进行存储,提高路由规则的查找效率,进而提高路由的转发效率。
表3
Key3 Value3 Value4
租户域名3 租户标识1 服务集群标识3
租户域名4 租户标识2 服务集群标识4
在一个实施例中,路由规则通过网关路由规则配置引擎分发到网关服务节点,并存储在网关服务节点对应的内存中;路由规则对应的第一映射表和第二映射表以哈希表数据结构形式存储。
具体地,路由规则通过网关路由规则配置引擎分发到网关服务节点,并存储在网关服务节点对应的内存中,多租户网关接收用户请求时,直接从缓存中获取路由规则;根据O(1)的单点查找方法从哈希表数据结构获取用户请求对应微服务节点的节点标识;减少路由规则的加载时间和提高路由规则的查找性能,进而提高了多租户网关路由的转发效率。
在一个实施例中,如图3所示,提供了一种网关动态路由的原理框图300,包括路由规则配置引擎302、多租户网关304、网关路由引擎306、微服务节点308。具体地,根据获取的租户信息,通过路由规则配置引擎302配置路由规则,把配置的路由规则存储于Redis DB数据库中,便于持久化集中存储;当多租户网关304接收用户请求时,通过网关路由引擎306根据用户请求携带的租户域名和用户标识从网关服务节点的内存中查找匹配的路由规则,获取到与用户请求对应的微服务节点的节点标识;多租户网关304把接收的用户请求转发至对应的微服务节点上,其中路由规则通过哈希数据标表结构形式加载。
在另一个实施例中,如图4所示,提供了一种网关动态路由方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤402,接收用户请求,用户请求携带租户域名和应用标识。
步骤404,根据租户域名查找与租户域名对应的租户标识。
其中,租户域名与租户标识之间存在一一对应的映射关系。可选地,通过解析租户域名获取租户对应的互联网协议地址(Internet Protocol Address,IP地址),根据IP地址获取对应的租户标识。
步骤406,根据租户标识查找与租户标识对应的服务器集群标识。
其中,每个租户隶属于对应的服务器集群,即每个租户标识对应一个服务器集群标识,服务器集群标识对应至少一个租户标识。
步骤408,从路由规则中获取服务器集群标识对应的应用标识集合。
步骤410,根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识。
步骤412,把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。
其中,反向代理服务器是指把反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。反向代理服务器可以是Nginx。
上述网关动态路由方法中,多租户网关接收用户请求,用户请求携带租户域名和应用标识;通过网关路由引擎根据租户域名从路由规则中查找与租户域名对应的租户标识,再根据租户标识查找与租户标识对应的服务器集群标识;每个租户标识对应一个服务器集群标识,即可根据租户标识查找与租户标识对应的服务器集群标识;从路由规则中获取服务器集群标识对应的应用标识集合;根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;多租户网关把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。根据租户域名获取对应的租户标识和服务器集群标识,再根据服务器集群标识和应用标识确定用户请求对应的微服务节点的节点标识,把用户请求转发到节点标识对应的服务节点上。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种网关动态路由装置500,包括:接收模块502、查找模块504、获取模块506、确定模块508和发送模块510,其中:
接收模块502,用于接收用户请求,用户请求携带租户域名和应用标识。
查找模块504,用于根据租户域名从路由规则中查找与租户域名对应的服务器集群标识。
在一个实施例中,查找模块504还用于根据租户域名查找与租户域名对应的租户标识;根据租户标识查找与租户标识对应的服务器集群标识。
获取模块506,用于从路由规则中获取服务器集群标识对应的应用标识集合。
确定模块508,用于根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识。
发送模块510,用于将用户请求转发至节点标识对应的微服务节点上。
在一个实施例中,发送模块510还用于把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。
上述网关动态路由装置,过接收用户请求,用户请求携带租户域名和应用标识;根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;从路由规则中获取服务器集群标识对应的应用标识集合;根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;将用户请求转发至节点标识对应的微服务节点上。不同用户请求携带的租户域名和应用标识不同,当获取到不同用户请求时,根据租户域名、应用标识和预先配置的路由规则之间的映射关系,准确获取租户域名对应的微服务节点的节点标识,通过多租户网关路由把用户请求发送到所对应的微服务节点上,提高网关路由的转发效率。
在另一个实施例中,如图6所示,提供了一种网关动态路由装置500,除包括接收模块502、查找模块504、获取模块506、确定模块508和发送模块510之外,还包括信息获取模块512和表格生成模块514,其中:
信息获取模块512,用于获取租户的租户信息;根据租户信息,通过网关路由规则配置引擎生成路由规则。
表格生成模块514,用于通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据第一映射表和第二映射表生成路由规则。
在一个实施例中,表格生成模块514还用于通过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据第一映射表和第二映射表生成路由规则。
在一个实施例中,通过信息获取模块512获取租户的租户信息,根据租户信息,通过网关路由规则配置引擎生成路由规则,当多租户网关通过接收模块502接收用户请求时,获取用户请求携带的租户域名和应用标识,查找模块504根据租户域名从路由规则中查找与租户域名对应的租户标识,再根据租户标识查找与租户标识对应的服务器集群标识;通过获取模块506获取服务器集群标识对应的应用标识集合;通过确定模块508根据应用标识从应用标识集合中确定与用户请求对应的微服务节点的节点标识;通过发送模块510把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。
关于网关动态路由装置的具体限定可以参见上文中对于网关动态路由方法的限定,在此不再赘述。上述网关动态路由装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网关动态路由方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收用户请求,用户请求携带租户域名和应用标识;
根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;
从路由规则中获取服务器集群标识对应的应用标识集合;
根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;
将用户请求转发至节点标识对应的微服务节点上。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在接收用户请求之前,方法还包括:获取租户的租户信息;根据租户信息,通过网关路由规则配置引擎生成路由规则。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表;
通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;
根据第一映射表和第二映射表生成路由规则。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
通过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表;
通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;
根据第一映射表和第二映射表生成路由规则。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据租户域名查找与租户域名对应的租户标识;
根据租户标识查找与租户标识对应的服务器集群标识。
在一个实施例中,处理器执行计算机程序时还实现以下:
路由规则通过网关路由规则配置引擎分发到网关服务节点,并存储在网关服务节点对应的内存中;路由规则对应的第一映射表和第二映射表以哈希表数据结构形式存储。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收用户请求,用户请求携带租户域名和应用标识;
根据租户域名从路由规则中查找与租户域名对应的服务器集群标识;
从路由规则中获取服务器集群标识对应的应用标识集合;
根据应用标识,从应用标识集合中确定与用户请求对应的微服务节点的节点标识;
将用户请求转发至节点标识对应的微服务节点上。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在接收用户请求之前,方法还包括:获取租户的租户信息;根据租户信息,通过网关路由规则配置引擎生成路由规则。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表;
通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;
根据第一映射表和第二映射表生成路由规则。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表;
通过网关路由规则配置引擎配置服务器集群标识和应用标识集合之间映射关系,生成第二映射表;
根据第一映射表和第二映射表生成路由规则。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据租户域名查找与租户域名对应的租户标识;
根据租户标识查找与租户标识对应的服务器集群标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
路由规则通过网关路由规则配置引擎分发到网关服务节点,并存储在网关服务节点对应的内存中;路由规则对应的第一映射表和第二映射表以哈希表数据结构形式存储。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种网关动态路由方法,其特征在于,所述方法包括:
获取租户的租户信息;所述租户信息包括从数据库中获取的或者是用户界面输入的新增的;
根据所述租户信息,通过网关路由规则配置引擎生成路由规则;所述路由规则是通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置所述服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据所述第一映射表和所述第二映射表生成的;或者,通过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置所述服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据所述第一映射表和所述第二映射表生成;
接收用户请求,所述用户请求携带租户域名和应用标识;所述用户请求是用于终端通过发送用户请求向服务器请求对资源的访问;
根据所述租户域名从所述路由规则中查找与所述租户域名对应的服务器集群标识;
从所述路由规则中获取所述服务器集群标识对应的应用标识集合,所述应用标识集合包括服务集群所支持的所有应用,所述服务集群的服务器上部署有不同的应用对应实现不同的业务;
根据所述应用标识,从所述应用标识集合中确定与所述用户请求对应的微服务节点的节点标识;
将所述用户请求转发至所述节点标识对应的微服务节点上。
2.根据权利要求1所述的方法,其特征在于,所述根据所述租户域名从路由规则中查找与所述租户域名对应的服务器集群标识,包括:
根据所述租户域名查找与所述租户域名对应的租户标识;
根据所述租户标识查找与所述租户标识对应的服务器集群标识。
3.根据权利要求2所述的方法,其特征在于,所述根据所述租户域名查找与所述租户域名对应的租户标识,包括:
通过解析租户域名获取租户对应的IP地址;
根据所述IP地址获取对应的租户标识。
4.根据权利要求1所述方法,其特征在于,所述路由规则通过网关路由规则配置引擎分发到网关服务节点,并存储在所述网关服务节点对应的内存中;所述路由规则对应的第一映射表和第二映射表以哈希表数据结构形式存储。
5.根据权利要求1所述的方法,其特征在于,所述将所述用户请求转发至所述节点标识对应的微服务节点上,包括:
把所述用户请求转发至反向代理服务器,所述用户请求转发至所述节点标识对应的服务节点上。
6.一种网关动态路由装置,其特征在于,所述装置包括:
信息获取模块,用于获取租户的租户信息;所述租户信息包括从数据库中获取的或者是用户界面输入的新增的;
根据所述租户信息,通过网关路由规则配置引擎生成路由规则;所述路由规则是通过网关路由规则配置引擎配置租户域名和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置所述服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据所述第一映射表和所述第二映射表生成的;或者,通过网关路由规则配置引擎配置租户域名、租户标识和服务器集群标识之间的对应关系,生成第一映射表;通过网关路由规则配置引擎配置所述服务器集群标识和应用标识集合之间映射关系,生成第二映射表;根据所述第一映射表和所述第二映射表生成;
接收模块,用于接收用户请求,所述用户请求携带租户域名和应用标识;所述用户请求是用于终端通过发送用户请求向服务器请求对资源的访问;
查找模块,用于根据所述租户域名从路由规则中查找与所述租户域名对应的服务器集群标识;
获取模块,用于从所述路由规则中获取所述服务器集群标识对应的应用标识集合;所述应用标识集合包括服务集群所支持的所有应用,所述服务集群的服务器上部署有不同的应用对应实现不同的业务;
确定模块,用于根据所述应用标识,从所述应用标识集合中确定与所述用户请求对应的微服务节点的节点标识;
发送模块,用于将所述用户请求转发至所述节点标识对应的微服务节点上。
7.根据权利要求6所述的装置,其特征在于,所述查找模块还用于通过解析租户域名获取租户对应的IP地址;根据所述IP地址获取对应的租户标识。
8.根据权利要求6所述的装置,其特征在于,所述发送模块还用于把用户请求转发至反向代理服务器,用户请求转发至节点标识对应的服务节点上。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201911172370.2A 2019-11-26 2019-11-26 网关动态路由方法、装置、计算机设备和存储介质 Active CN111092816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911172370.2A CN111092816B (zh) 2019-11-26 2019-11-26 网关动态路由方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911172370.2A CN111092816B (zh) 2019-11-26 2019-11-26 网关动态路由方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111092816A CN111092816A (zh) 2020-05-01
CN111092816B true CN111092816B (zh) 2022-02-15

Family

ID=70393714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911172370.2A Active CN111092816B (zh) 2019-11-26 2019-11-26 网关动态路由方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111092816B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464574B (zh) * 2019-01-21 2022-10-21 阿里巴巴集团控股有限公司 调用、加载、注册、管理方法和路由、服务器、节点和介质
CN113765962B (zh) * 2020-07-17 2024-04-09 北京京东尚科信息技术有限公司 用于服务平台的数据处理方法和系统、计算机系统和介质
CN111884917A (zh) * 2020-07-28 2020-11-03 浪潮云信息技术股份公司 基于微服务的网关系统及网关动态路由方法
CN112118565B (zh) * 2020-08-14 2023-07-25 金蝶医疗软件科技有限公司 多租户服务灰度发布方法、装置、计算机设备和存储介质
CN112153155B (zh) * 2020-09-28 2023-03-24 深圳平安智汇企业信息管理有限公司 服务器集群中的服务请求方法、装置、计算机设备及介质
CN112260876B (zh) * 2020-10-26 2022-08-16 欧冶云商股份有限公司 动态网关路由配置方法、平台、计算机设备及存储介质
CN112615786B (zh) * 2020-12-04 2023-04-04 北京神州泰岳软件股份有限公司 路由确定方法、装置、电子设备及计算机可读存储介质
CN112887279B (zh) * 2021-01-13 2023-03-10 太平金融科技服务(上海)有限公司 微服务调用方法、装置、计算机设备和存储介质
CN112929271B (zh) * 2021-02-04 2022-05-20 华控清交信息科技(北京)有限公司 一种路由配置方法、装置和用于配置路由的装置
CN112948798A (zh) * 2021-03-19 2021-06-11 深圳市商汤科技有限公司 数据处理方法及相关产品
CN112905708A (zh) * 2021-03-31 2021-06-04 浙江太美医疗科技股份有限公司 基于SaaS系统的数据库操作方法及系统
CN114143324A (zh) * 2021-10-27 2022-03-04 上海卓悠网络科技有限公司 一种基于应用市场架构的负载均衡方法及设备
CN116112570A (zh) * 2021-11-10 2023-05-12 青岛海尔科技有限公司 消息处理方法、装置、电子设备与存储介质
CN114124797B (zh) * 2021-11-19 2023-08-04 中电信数智科技有限公司 一种服务器路由方法、装置、电子设备及存储介质
CN114189525B (zh) * 2021-12-02 2023-06-20 建信金融科技有限责任公司 服务请求方法、装置和电子设备
CN114363254A (zh) * 2021-12-24 2022-04-15 北京字节跳动网络技术有限公司 租户隔离方法、装置及电子设备
CN114401319B (zh) * 2022-01-17 2024-05-10 星环信息科技(上海)股份有限公司 一种请求处理方法、装置、服务器及存储介质
CN114827248A (zh) * 2022-03-31 2022-07-29 浙江西图盟数字科技有限公司 一种微服务资源分配方法、装置、电子设备及存储介质
CN114866617A (zh) * 2022-04-28 2022-08-05 济南浪潮数据技术有限公司 一种微服务请求处理方法、装置、设备及介质
CN114745446A (zh) * 2022-05-18 2022-07-12 上海钧正网络科技有限公司 一种基于异地多活场景的路由方法、装置、电子设备及存储介质
CN115102901A (zh) * 2022-06-17 2022-09-23 深圳前海百递网络有限公司 路由选择方法、装置、计算机设备和存储介质
CN115174687B (zh) * 2022-07-21 2024-06-25 亚信科技(中国)有限公司 服务调用方法、装置、电子设备及存储介质
CN115361436A (zh) * 2022-08-18 2022-11-18 中国工商银行股份有限公司 个性化服务实例的启动方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468805A (zh) * 2014-12-12 2015-03-25 用友软件股份有限公司 消息路由装置和方法
CN105956000A (zh) * 2016-04-20 2016-09-21 广州华多网络科技有限公司 一种数据交互方法及客户端
CN109558245A (zh) * 2018-12-03 2019-04-02 群蜂信息技术(上海)有限公司 一种基于微服务器架构的业务处理方法、装置及服务器
CN109618002A (zh) * 2019-01-11 2019-04-12 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN110138862A (zh) * 2019-05-16 2019-08-16 北京字节跳动网络技术有限公司 基于应用服务的业务处理方法、装置、网关设备及介质
CN110401696A (zh) * 2019-06-18 2019-11-01 华为技术有限公司 一种去中心化处理的方法、通信代理、主机以及存储介质
CN110460647A (zh) * 2019-07-23 2019-11-15 平安科技(深圳)有限公司 网络节点的调度方法、装置、电子设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340533B (zh) * 2011-06-17 2017-03-15 中兴通讯股份有限公司 多租户系统及多租户系统存取数据的方法
US9392422B2 (en) * 2013-03-15 2016-07-12 Apollo Education Group, Inc. Multi-tenant message routing and management
US9906608B2 (en) * 2013-04-30 2018-02-27 International Business Machines Corporation Intelligent adaptation of mobile applications based on constraints and contexts
CN103957246B (zh) * 2014-04-22 2017-03-01 广州杰赛科技股份有限公司 基于租户感知的动态负载均衡方法及系统
US10333849B2 (en) * 2016-04-28 2019-06-25 Nicira, Inc. Automatic configuration of logical routers on edge nodes
CN106411735B (zh) * 2016-10-18 2019-10-11 新华三技术有限公司 一种路由配置方法及装置
US10452295B1 (en) * 2017-10-06 2019-10-22 EMC IP Holding Company LLC Data routing in information processing system utilizing persistent memory
CN110188307B (zh) * 2019-05-31 2023-05-16 东信和平科技股份有限公司 一种多租户数据隔离方法、服务器及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468805A (zh) * 2014-12-12 2015-03-25 用友软件股份有限公司 消息路由装置和方法
CN105956000A (zh) * 2016-04-20 2016-09-21 广州华多网络科技有限公司 一种数据交互方法及客户端
CN109558245A (zh) * 2018-12-03 2019-04-02 群蜂信息技术(上海)有限公司 一种基于微服务器架构的业务处理方法、装置及服务器
CN109618002A (zh) * 2019-01-11 2019-04-12 武汉斗鱼鱼乐网络科技有限公司 一种微服务网关优化方法、装置及存储介质
CN110138862A (zh) * 2019-05-16 2019-08-16 北京字节跳动网络技术有限公司 基于应用服务的业务处理方法、装置、网关设备及介质
CN110401696A (zh) * 2019-06-18 2019-11-01 华为技术有限公司 一种去中心化处理的方法、通信代理、主机以及存储介质
CN110460647A (zh) * 2019-07-23 2019-11-15 平安科技(深圳)有限公司 网络节点的调度方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN111092816A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
CN111092816B (zh) 网关动态路由方法、装置、计算机设备和存储介质
US11734377B2 (en) Universal visitor identification system
JP6173290B2 (ja) コンテンツ管理するための方法とシステム
CN110727499A (zh) 资源数据获取的方法、装置、计算机设备和存储介质
CN110535971B (zh) 基于区块链的接口配置处理方法、装置、设备及存储介质
US11856046B2 (en) Endpoint URL generation and management
US9742731B2 (en) Geolocation via internet protocol
CN107786621B (zh) 一种用户信息管理方法、访问处理方法及装置和系统
CN102047243A (zh) 基于类别请求路由
CN110599142B (zh) 数据存储方法、装置、计算机设备和存储介质
CN107463453B (zh) 同一终端不同应用间通信的方法、装置、设备和存储介质
US11805093B2 (en) Systems and methods for processing requests for content of a content distribution network
CN110688598A (zh) 业务参数采集方法、装置、计算机设备和存储介质
CN108683668A (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
CN110213392B (zh) 数据分发方法、装置、计算机设备和存储介质
CN109151025B (zh) 基于url的负载均衡方法、装置、计算机存储介质及设备
CN111917900A (zh) 一种域名代理的请求处理方法及装置
CN113507475B (zh) 跨域访问方法和装置
CN116633701B (zh) 信息传输方法、装置、计算机设备和存储介质
CN114153626A (zh) 一种服务集成过程抽象的方法、装置和计算机设备
CN112825524A (zh) 网络服务节点的确定方法、装置和系统
CN116233253A (zh) 业务处理方法、装置、计算机设备和存储介质
CN113836428A (zh) 业务推送方法、装置、计算机设备和存储介质
US20200127923A1 (en) System and method of performing load balancing over an overlay network
WO2015160437A1 (en) System for identifying current internet protocol address for a remote comuting device

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
GR01 Patent grant
GR01 Patent grant