CN114118560A - 一种基于微服务的路由方法、装置、设备及存储介质 - Google Patents
一种基于微服务的路由方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114118560A CN114118560A CN202111386475.5A CN202111386475A CN114118560A CN 114118560 A CN114118560 A CN 114118560A CN 202111386475 A CN202111386475 A CN 202111386475A CN 114118560 A CN114118560 A CN 114118560A
- Authority
- CN
- China
- Prior art keywords
- routing
- service
- service requests
- performance parameters
- utilization rate
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Educational Administration (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种基于微服务的路由方法、装置、设备及存储介质,其中,方法包括:获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,m和n为大于等于2的正整数,队列深度表征预设的节点设备n处理请求的处理性能,连接数表征节点设备n的端口所支持的对外连接数;基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数;基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数;若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径。
Description
技术领域
本申请实施例涉及金融科技(Fintech)的数据处理技术领域,涉及但不限于一种基于微服务的路由方法、装置、设备及存储介质。
背景技术
随着计算机计算的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
金融科技领域下,针对行业内的消息中间件系统,由于处理的大部分是异步消息,所以系统关心的重点是消息在链路中的传输时间。系统间消息发送到下一个多节点的系统时,往往采用hash取模的随机算法,以达到负载均衡。同时为了防止随机发送到某一台机器的消息数过多,采取限制机器的最大队列深度,当达到最大的深度后,该节点将不再接收发送的消息,随机算法会将消息发送到除达到最大队列深度外的其他机器。
相关技术的微服务系统的路由方式只是做到随机调用,或者在随机的基础上找出相对调用少的节点增加调用,或者是对处理能力较低的节点减少调用。大部分是节点和节点之间,一个系统和相邻系统之间的局部调用调整。这种路由方式较为简单,无法精准实现动态路由。
发明内容
本申请实施例提供一种基于微服务的路由方法、装置、设备及存储介质,以解决相关技术中的微服务系统的路由方式简单,无法实现动态调整路由路径的问题。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于微服务的路由方法,包括:
获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,所述m和所述n为大于等于2的正整数,所述队列深度表征预设的所述节点设备n处理请求的处理性能,所述连接数表征所述节点设备n的端口所支持的对外连接数;
基于所述处理器使用率、内存使用率、队列深度和连接数,确定所述节点设备n的系统性能参数;
基于所述系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,所述多个微服务系统下的所选节点设备的路由性能参数;
若接收到多个服务请求,基于所述路由性能参数,确定所述多个服务请求对应的路由路径。
本申请实施例提供一种基于微服务的路由装置,包括:
获取模块,用于获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,所述m和所述n为大于等于2的正整数,所述队列深度表征预设的所述节点设备n处理请求的处理性能,所述连接数表征所述节点设备n的端口所支持的对外连接数;
处理模块,用于基于所述处理器使用率、内存使用率、队列深度和连接数,确定所述节点设备n的系统性能参数;
所述处理模块,用于基于所述系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,所述多个微服务系统下的所选节点设备的路由性能参数;
所述处理模块,用于若接收到多个服务请求,基于所述路由性能参数,确定所述多个服务请求对应的路由路径。
本申请实施例提供一种基于微服务的路由设备,包括:
存储器,用于存储可执行指令;处理器,用于执行存储器中存储的可执行指令时,实现上述的方法。
本申请实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:
通过获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,m和n为大于等于2的正整数,队列深度表征预设的节点设备n处理请求的处理性能,连接数表征节点设备n的端口所支持的对外连接数;基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数;基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数;若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径;也就是说,本申请收集实际路由中影响性能的如下参数处理器使用率、内存使用率、队列深度、连接数和统计的服务请求耗时进行分析,实现对请求路径中各个微服务系统下的节点设备的相关信息的收集和分析,进而,在后续服务请求到来时,将分析结果投入路由调度,实现动态调整路由路径,优化整体服务调用时间。
附图说明
图1是本申请实施例提供的服务器的一个可选的架构示意图;
图2是本申请实施例提供的基于微服务的路由方法的流程示意图一;
图3是本申请实施例提供的基于微服务的路由方法的流程示意图二;
图4是本申请实施例提供的基于微服务的路由方法的流程示意图三;
图5是本申请实施例提供的微服务流程所经过的微服务系统的示意图;
图6是本申请实施例提供的微服务架构下的微服务调节流程的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
下面说明本申请实施例提供的基于微服务的路由设备的示例性应用,本申请实施例提供的基于微服务的路由设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备),智能机器人等任意具有屏幕显示功能的终端,也可以实施为服务器。下面,将说明基于微服务的路由设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的服务器100的结构示意图,图1所示的服务器100包括:至少一个处理器110、至少一个网络接口120、用户接口130和存储器150。服务器100中的各个组件通过总线系统140耦合在一起。可理解,总线系统140用于实现这些组件之间的连接通信。总线系统140除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图1中将各种总线都标为总线系统140。
处理器110可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口130包括使得能够呈现媒体内容的一个或多个输出装置131,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口130还包括一个或多个输入装置132,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器150可以是可移除的,不可移除的或其组合。示例性地硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器150可选地包括在物理位置上远离处理器110的一个或多个存储设备。存储器150包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(Read Only Memory,ROM),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器150旨在包括任意适合类型的存储器。在一些实施例中,存储器150能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统151,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块152,用于经由一个或多个(有线或无线)网络接口120到达其他计算设备,示例性地网络接口120包括:蓝牙、无线相容性认证(Wi-Fi)、和通用串行总线(Universal Serial Bus,USB)等;
输入处理模块153,用于对一个或多个来自一个或多个输入装置132之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图1示出了存储在存储器150中的一种基于微服务的路由装置154,该基于微服务的路由装置154可以是服务器100中的基于微服务的路由装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块1541、处理模块1542,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的基于微服务的路由方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(Application Specific Integrated Circuit,ASIC)、DSP、可编程逻辑器件(Programmable Logic Device,PLD)、复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或其他电子元件。
下面将结合本申请实施例提供的服务器100的示例性应用和实施,说明本申请实施例提供的基于微服务的路由方法。参见图2,图2是本申请实施例提供的基于微服务的路由方法的一个可选的流程示意图,将结合图2示出的步骤进行说明,
步骤S201,获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数。
其中,m和n为大于等于2的正整数,队列深度表征预设的节点设备n处理请求的处理性能,连接数表征节点设备n的端口所支持的对外连接数。
本申请实施例提供的节点设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备),智能机器人等任意具有屏幕显示功能的终端,也可以实施为服务器。本申请实施例中以节点设备实施为服务器为例进行说明。
示例性的,队列深度体现的是节点设备n提供相应功能时的处理性能,不同的节点设备在提供同一功能时,一般存在处理性能的差异。本申请可以预先针对任一节点设备设置队列深度。在一些示例性的场景中,假设不同节点设备都具有存储功能,由于各自硬件条件等的影响,存储快慢和/或存储空间大小有所不同。进一步地,在实际应用的场景中,可以人工设置任一节点设备的队列深度;当然,也可以采用其他方式设置队列深度,例如,节点设备结合硬件条件等的影响,选择相匹配的队列深度。假设队列深度指的是节点设备n需要处理的消息,在节点设备n的队列深度比较大时,说明需要排队等待处理的时间更长;在节点设备n的队列深度比较小时,说明需要排队等待处理的时间相对较短。
示例性的,针对连接数而言,比如一个客户端向节点设备如服务器发起http请求,需要先建立TCP连接,然后再向http服务发出数据包,连接请求会占用节点设备的端口,收到请求应答后根据包头的是否保持,确定是否关闭连接,端口数是有限的,所以连接数也是有限的。本申请在确定路由路径的过程中,充分收集了节点设备n的相关信息如处理器使用率、内存使用率、队列深度和连接数,以确保后续不同路径之间的路由性能排序更加准确全面。
本申请实施例中,在一个可实现的微服务架构中,服务器作为微服务架构中的配置中心,包括但不限于实现对配置和服务的显示及管理。示例性的,微服务架构包括作为配置中心的服务器、注册中心和多个微服务系统。注册中心涉及对启动整体系统后注册服务的管理。在一些微服务系统的维护场景中,在系统运行之初可以采用随机算法,进而在维持系统运行的基础上,节点设备提供各类相关信息以供配置中心分析。
本申请涉及的服务请求包括但不限于实时联机事务处理过程(On-LineTransaction Processing,OLTP),也称为面向交易的处理过程中的服务请求。上述服务请求的特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。
进一步地,本申请提供的基于微服务的路由方法是一种智能路由方法,该方法针对现有的路由路径进行分析,分析结果供配置中心动态调整路径。这里,配置中心在收集实际路由中影响性能的相关参数的过程中,可以设置一个合理的周期,例如,针对包括多节点设备的微服务系统,基于网络通信中的心跳机制,采用心跳的方式,在一个心跳周期后,将所有节点设备的相关参数进行数据同步。智能路由算法可以以心跳周期为参考,根据一个心跳周期内的消息总数,和算法需要收集的最少消息数,确定以几个心跳周期为一个消息收集的周期最为合理,少于最小消息数、样本较少的周期可以剔除。每个周期收集现有请求的全部路由信息,等待下个周期再将分析的结果投入具体的路由调度。以此循环,以达到相对实时、动态调整路由的目的。
步骤S202,基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数。
本申请实施例中,处理器使用率包括但不限于中央处理器(central processingunit,CPU)使用率。本申请确定的节点设备n的系统性能参数,作为预测路由过程中经过多个微服务系统时,选择多个微服务系统下的哪些节点设备以形成路径满足合理路径长度条件的路由的重要参考因素。
结合步骤S201和步骤S202,示例性的,以一个心跳周期为一个消息收集的周期,获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,进而基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数;进一步地,以当一个心跳周期确定的系统性能参数作为参考因素,在后续集合统计的服务请求耗时,执行下一心跳周期的路由路径的预测,最终等待下个心跳周期到来时,再将分析的结果投入具体的路由调度。
步骤S203,基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数。
本申请实施例中,统计的服务请求耗时是指一个消息收集周期内,统计数列中占x%比重的数值,其中,x为正数。示例性的,x为95,当然,本申请实施例中x还可以取其他参数,例如98,对此本申请不作具体限定。
示例性的,以统计数列中占95%比重的数值为例,假设有100个服务请求,按照响应时间从小到大排列,位置为95的值,即为95%比重的数值又称为P95值。假设该值为180ms,则说明对95%的用户的响应耗时在180ms之内,只有5%的用户的响应耗时大于180ms,据此,本申请可以确定更精确的服务响应耗时信息。
本申请实施例中,配置中心可以收集每个微服务系统的所有节点设备的处理器使用率如CPU使用率、内存使用率、队列深度和连接数,并且在统计的服务请求耗时的基础上加上这些实际路由过程中的系统性能参数,以预估不同路由路径中所选节点设备在未来的请求传递时间。
需要说明的是,对统计的服务请求耗时、CPU使用率、内存使用率、队列深度和连接数等消息的收集,对于熔断和限流也是有一定的意义,当多个微服务系统下的所选节点设备的路由性能参数的计算结果超出合理的阈值,就可以将对应的节点设备暂时隔离,等待恢复后再重新计入可路由的路径。
步骤S204,若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径。
本申请实施例中,在接收到多个服务请求的情况下,配置中心确定下个心跳周期到来,将分析的结果投入具体的路由调度,并基于路由性能参数,确定多个服务请求对应的路由路径,实现动态调整路由路径,优化整体服务调用时间的目的。
本申请提供的基于微服务的路由方法,通过获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,m和n为大于等于2的正整数,队列深度表征预设的节点设备n处理请求的处理性能,连接数表征节点设备n的端口所支持的对外连接数;基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数;基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数;若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径;也就是说,本申请收集实际路由中影响性能的如下参数处理器使用率、内存使用率、队列深度、连接数和统计的服务请求耗时进行分析,实现对请求路径中各个微服务系统下的节点设备的相关信息的收集和分析,进而,在后续服务请求到来时,将分析结果投入路由调度,实现动态调整路由路径,优化整体服务调用时间。
本申请其他实施例中,步骤S202基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数,可以通过如图3所示的步骤实现:
A11,分别为处理器使用率、内存使用率、队列深度和连接数配置权重参数;
A12,将处理器使用率、内存使用率、队列深度、连接数、各个权重参数、节点设备n的阈值深度以及阈值连接数代入如下计算公式,计算节点设备n的系统性能参数,节点设备n的系统性能参数表征为PS:
其中,处理器使用率表征为pctcpu、pctcpu对应的权重参数为Wcpu,内存使用率表征为pct内存、pct内存对应的权重参数为W内存,队列深度对应的权重参数为W队列深度,连接数对应的权重参数为W连接数。这里,阈值深度又称为节点设备限定最大深度,阈值连接数又称为节点设备限定最大连接数。
需要说明的是,每个微服务系统,由于功能性不同,所以对节点设备限定最大连接数和节点设备限定最大深度可能有不同的设定,对CPU和内存的要求也不一定完全相同,因此每个节点设备可以按上面的公式,根据节点设备的功能性要求,自定义的设置权重的分配比例,使结果更为精确。
本申请其他实施例中,步骤S203基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数,可以通过如图4所示的步骤实现:
B11,分别为多个微服务系统下的所选节点设备的系统性能参数之和、统计的服务请求耗时配置权重参数;这里,所选节点设备包括多个微服务系统中每一微服务系统下所选择的每一个节点设备。
B12,将系统性能参数之和、统计的服务请求耗时以及各个权重参数代入如下计算公式,预测路由性能参数,路由性能参数表征为R:
R=WT×T+Wps×(PS1+PS2+PS3+......PSi+......+PSN);
其中,统计的服务请求耗时表征为T、对应的权重参数为WT,多个微服务系统的总数为N,任一微服务系统下所选节点设备的系统性能参数表征为PSi,系统性能参数之和对应的权重参数为Wps,i的取值范围为大于0且小于等于N的正整数。这里,在前述关于统计的服务请求耗时的解释的基础上,T包括但不限于Tp95。
需要说明的是,路由性能参数R的计算公式中,值得关注的还有P95平均请求耗时和系统性能参数之和的各自权重。这里,统计的服务请求耗时是现有请求耗时的总结,系统性能参数之和是对未来性能的预估,当每个周期系统性能参数之和值增长较缓时,可以适当降低系统性能参数之和前的权重系数。待系统性能参数之和值较大或者增长较快时,说明系统性能参数之和很可能成为整体性能的瓶颈,此时,可以适时增大对应的权重。
本申请实施例中,以统计的服务请求耗时T为Tp95举例,路由性能参数R的计算公式中,权重变化曲线是类似指数曲线的,比如从Tp95前面的权重系数来看,在初期平均请求时间较短,从请求时间角度很难看出该路径的性能,而本申请在设计一个系统时,往往会根据经验和程序的具体要求和实现,对请求时间有一个初步的预估,本申请考虑到两个比较关注的时间点。一个是本申请设置的可以接受的请求时长,在这个时长内响应,都算性能较好,超过这个时间,就需要稍微关注一下,是否可以优化;另一个时间点,是确认的超时时间,超过这个时间,默认请求超时。在这两个时间点之间的这段时间,请求时间反应性能的能力越来越强,所以前面的权重WT会快速上涨。在一些实施例中,示例性的,确认的超时时间是微服务系统根据所提供的服务类型确定的,例如不同服务类型的超时时间可以不同,通过不同的服务类型,对应不同的确认的超时时间,使得确认的超过时间自适应不同,从而实现不同服务类型的微服务系统权重也自适应动态变化;可以接受的请求时长是微服务系统和服务请求的发起方共同协商确定的。当然,确认的超时时间和可以接受的请求时长,还可以采用人工设置的方式,结合微服务系统提供的服务,人为地进行设置。综上所述,WT的增长曲线类似于指数函数,在到达可以接受的请求时间点前,基本是平直的横线,可能有少许的增长,但是速度很慢,对整体的结果影响不大;等到了这个时间点,就出现了拐点,WT增长加快,而且是单位时间的增长速度越来越大,直到超时时间,到达峰值。
不只是WT,其他的权重系数也是类似指数曲线增长,本申请在压测的时候,往往就会对处理器使用率、内存使用率、队列深度、连接数等都有一个预期范围,例如CPU使用率,普通情况下,本申请认为只要不是长时间使用率超过50%,那么CPU使用率对性能的影响都很小,超过50%就要开始关注,同样是每增长一个单位,对性能的限制也越来越大。
也就是说,本申请路由性能参数R的计算公式中,Wps是一个变量,Wps随着系统性能参数之和的改变而改变,如系统性能参数之和增大较快,则增大Wps,系统性能参数之和增大较慢,则减小Wps,如此,结合系统性能参数之和灵活调整所选节点设备对应的请求路径的请求量,在系统性能参数之和越大的情况下,减少这个请求路径的请求量,在系统性能参数之和越小的情况下,增加这个请求路径的请求量,确保实现整体性能最优。
在一个可实现的基于微服务的智能路由场景中,参照图5所示,假设微服务整体流程分为以下4个必经微服务系统,微服务系统A、微服务系统B、微服务系统C和微服务系统D,每一微服务系统有3个不同互联网协议地址(Internet Protocol Address,IP)的节点设备,则完成一次完整消息路由的路线共可以有种,基于本申请提供的方法,可以在81条路线中动态找到性能最佳的路由路线。
首先,是确认单个微服务系统中性能影响因素即处理器使用率、内存使用率、队列深度和连接数的各自权重,可以根据微服务系统实际需要设定。
其次,仍旧按照一个系统中有3个IP节点设备节点计算,参照图5所示,A系统有a1、a2、a3共3个节点设备,A系统各节点设备的性能影响因素有如下四个:CPU使用率、内存使用率、队列深度和连接数,包含这个4个因子的系统性能参数计算公式如下:
由上述公式可知,计算出来的PS值越小,则节点设备的性能越佳。每个节点设备,由于功能性不同,所以对最大连接数和最大队列深度可能有不同的设定,对CPU和内存的要求也不一定完全相同,因此每个系统可以按上面的公式,根据系统的功能性要求,自定义的设置权重的分配比例,使结果更为精确。
然后,依次计算全部12个节点的所有PS值,整体的路由性能计算公式是结合了P95平均请求耗时和路由中经过的所有系统下的各节点设备的PS之和计算的,公式如下:
R=WT×Tp95+Wps×(PSA+PSB+PSC+PSD);
其中,PSA表征A系统下所选节点设备的系统性能参数,PSB表征B系统下所选节点设备的系统性能参数,PSC表征C系统下所选节点设备的系统性能参数,PSD表征D系统下所选节点设备的系统性能参数。
最后,上述公式的各个参数都确定后,就可以由配置中心计算上述81种路径的R值。
本申请其他实施例中,在一个实现负载均衡的场景中,步骤S204若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径,可以通过如下步骤实现:
C11,为多个微服务系统下,不同路径对应的所选节点设备的路由性能参数,设置请求数量权重参数;
C12,若接收到多个服务请求,基于请求数量权重参数和多个服务请求的请求数量,确定多个服务请求对应的路由路径。
基于前述的可实现的基于微服务的智能路由场景,在得到各个路径对应的R值的情况下,还可以按由小到大进行排序,进而配置中心可以按照提前预设好的请求数量权重,在服务请求到来时,合理分配请求数量。
例如,A1-B1-C1-D1的路径R值最小,系统可设置请求数量权重为0.4,A2-B2-C2-D2路径R值排名第二设置请求数量权重为0.3,A3-B3-C3-D3路径R值排名第三可以设置请求数量权重为0.2,A4-B4-C4-D4路径R值排名第四设置请求数量权重为0.1。进一步地,在服务请求发起时就可以按照权重相应分配请求路由。
示例性的,当配置中心收到1000条服务请求时,基于前述设置的请求数量权重参数和多个服务请求的请求数量1000,确定A1-B1-C1-D1共路由400笔,A2-B2-C2-D2共路由300笔,A3-B3-C3-D3共路由200笔,A4-B4-C4-D4共路由100笔。等下个周期再按照这个周期计算出的R值,重新分配新的排名前四位的请求路由权重,实时基于前一周期的相关参数,动态调整下一周期的请求路由路径。当然,还可以选择排名前五位的路径,本申请对此不做具体地限定。
需要说明的是,在实际分配时,除了R值特别大已经超出合理值范围的不合理路径,应该被隔离之外,请求调用量比较大的情况下,应该尽量在有所侧重的同时,相对分散,以达到负载均衡的目的。本申请中关于A系统下节点设备的表示,在A系统下有3个节点设备时,用a1、a2、a3表征各个节点设备,A系统下有4个节点设备时,用上述的A1、A2、A3、A4表征各个节点设备,不同的指代标识只是便于描述。
由上述实施例可知,本申请提供的基于微服务的智能路由方法,可以做到按照系统实际的部署情况智能且动态的提供请求路径。根据服务的请求数量,各系统可能被调用的几率,及时去修改对应的权重,下个周期就能应用到路径的收集和计算中,十分方便快捷。
本申请其他实施例中,在一个实现负载均衡且时效性要求较高的场景中,步骤S204若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径,可以通过如下步骤实现:
D11,若接收到多个服务请求,确定不同路径对应的所选节点设备所属互联网数据中心标识;这里,互联网数据中心标识用于确定各路径中所选的节点设备是否属于同一互联网数据中心(Internet Data Center,IDC)如同一机房。
D12,从不同路径对应的所选节点设备的路由性能参数中,筛选出至少一个目标路径对应的所选节点设备的目标路由性能参数,其中,目标路径对应的所选节点设备中至少两个设备具有同一互联网数据中心标识;
也就是说,该实施例中,在步骤S203基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数的情况下,基于节点设备是否部署在同一个IDC这一条件,筛选出至少一个目标路径对应的所选节点设备的目标路由性能参数,即所选的路由路径中的所选节点设备中至少两个设备具有同一互联网数据中心标识,如此,以节省路由时间。
D13,基于目标路由性能参数,确定多个服务请求对应的路由路径。
由上述实施例可知,在微服务系统间调用时可以判断节点设备是否部署在同一个IDC。也就是说,配置中心在确定路由路径的过程中,可以优先选取同IDC内部署的节点设备,再根据本申请的基于微服务的智能路由方法选取服务。
在本申请其他实施例中,如果CPU和内存等配置足够高,配置中心评估后认为在系统运行之初,可以暂时不用考虑这个因素;当然,配置中心在系统运行之初,也可以先去掉同一个IDC这个影响因子,等待系统运行一端时间后内存开始成为限制性能的一个方面,再加入同一个IDC这一因素作为更高优先级的参考因素,并结合筛选出的路径的路由性能参数,共同进行实时路由路径的调整。
这里,针对本申请的微服务架构,结合图6所示,对微服务调节流程进行说明,微服务架构包括作为配置中心的服务器、注册中心和多个微服务系统。注册中心包含所有提供给服务的系统注册的服务,各个系统提供的服务可以不完全相同;配置中心可以从注册中心读取注册的全部服务。针对不同的微服务系统,其提供的服务可能需要调用下游微服务系统。例如,微服务系统A提供的服务可能需要调用下游微服务系统B、C、D;微服务系统B提供的服务可能需要调用下游微服务系统C、D;微服务系统C提供的服务可能需要调用下游微服务系统D。本申请在确定路由路径的过程中,配置中心充分收集了各个微服务系统下所有节点设备的相关信息如处理器使用率、内存使用率、队列深度和连接数,以确保后续不同路径之间的路由性能排序更加准确全面。进一步地,配置中心基于节点设备反馈的相关信息和统计的服务请求耗时,统计计算路由路径排序,并且反馈给下游系统路由路径。需要说明的是,本申请各个微服务系统与配置中心之间,配置中心每个周期收集现有请求的全部路由信息,等待下个周期再将分析的结果投入具体的路由调度。以此循环,以达到相对实时、动态调整路由的目的。例如,参照图6所示,在微服务系统A接收配置中心反馈的路由路径后,执行路由过程,并且微服务系统A将实际的路由记录一并反馈给配置中心,如此,配置中心可以得到真实的微服务系统的路由情况作为下一次分析的参考。
本申请其他实施例中,在一个实现针对服务请求的属性进行智能路由的场景中,步骤S204若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径,可以通过如下步骤E11至步骤E12或者,步骤E11、步骤E13至步骤E15实现:
E11,若接收到多个服务请求,获取多个服务请求的时效信息和/或请求数量;这里,时效信息用于指示服务请求对时效性的要求。例如,同步服务请求和异步服务请求具有不同的时效信息,而且同步服务请求的时效信息相比异步服务请求的时效信息,对时效性的要求更高。
E12,若多个服务请求中存在部分服务请求的时效信息符合时效条件,和/或多个服务请求的请求数量大于阈值数量,基于路由性能参数,确定部分服务请求对应的路由路径。
也就是说,本申请对于时效性要求较高的服务请求,基于本申请提供的基于微服务的智能路由方法,基于路由性能参数,确定部分服务请求即时效性要求较高的请求对应的路由路径;和/或请求量达到阈值数量的场景,基于路由性能参数,确定部分服务请求即所有服务请求中的一部分请求对应的路由路径,从而及时确定适合当前微服务架构的路由方案。这里,针对服务请求的属性如请求量进行智能路由的场景中,对于请求量达到阈值数量的场景,触发本申请提供的智能路径的确定方案,对于请求量未达到阈值数量的场景,可以仍旧采用随机路由的方案,如此,可以减少计算量,提高服务请求的整体处理效率。
E13,针对多个服务请求中的剩余服务请求,对剩余服务请求中的每一请求的主键字段进行哈希计算得到哈希值;
这里,在部分服务请求为时效性要求较高的请求时,剩余服务请求包括时效性要求较低的请求。在部分服务请求为所有服务请求中的一部分请求时,剩余服务请求包括所有服务请求中的剩余请求。需要说明的是,本申请针对剩余服务请求,采用随机算法,确定路由路径,从而减少计算量,提高所有服务请求的整体处理效率。
E14,通过哈希值对微服务系统m下的所有节点设备的数量进行取模运算,得到取模结果;
E15,基于取模结果,将每一请求发送至对应的节点设备。
本申请实施例中,采用随机算法的过程中,随机算法包括哈希(hash)取模算法,即对hash结果取余数hash()mod n,通过对节点设备编号从0到n-1,按照自定义的hash()算法,对每个请求的hash()值按n取模,得到余数i,然后将请求分发到编号为i的节点设备。
由上述实施例可知,对有时效性要求的服务请求来说,智能路由算法的作用相对更明显,最优路径和排序相对靠前的路径,可以明显减少请求到收到处理完成消息的时间。对于同步请求来说,本申请提供的基于微服务的智能路由方法,也可以在一定程度上反映服务的处理能力。
下面继续说明本申请实施例提供的基于微服务的路由装置154实施为软件模块的示例性结构,在一些实施例中,如图1所示,存储在存储器150的基于微服务的路由装置154中的软件模块可以是服务器100中的基于微服务的路由装置,包括:
获取模块1541,用于获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,m和n为大于等于2的正整数,队列深度表征预设的节点设备n处理请求的处理性能,连接数表征节点设备n的端口所支持的对外连接数;
处理模块1542,用于基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数;
处理模块1542,用于基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数;
处理模块1542,用于若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径。
在一些实施例中,处理模块1542,用于分别为处理器使用率、内存使用率、队列深度和连接数配置权重参数;将处理器使用率、内存使用率、队列深度、连接数、各个权重参数、节点设备n的阈值深度以及阈值连接数代入如下计算公式,计算节点设备n的系统性能参数,节点设备n的系统性能参数表征为PS:
其中,处理器使用率表征为pctcpu、pctcpu对应的权重参数为Wcpu,内存使用率表征为pct内存、pct内存对应的权重参数为W内存,队列深度对应的权重参数为W队列深度,连接数对应的权重参数为W连接数。
在一些实施例中,处理模块1542,用于分别为多个微服务系统下的所选节点设备的系统性能参数之和、统计的服务请求耗时配置权重参数;将系统性能参数之和、统计的服务请求耗时以及各个权重参数代入如下计算公式,预测路由性能参数,路由性能参数表征为R:
R=WT×T+Wps×(PS1+PS2+PS3+......PSi+......+PSN);
其中,统计的服务请求耗时表征为T、对应的权重参数为WT,多个微服务系统的总数为N,任一微服务系统下所选节点设备的系统性能参数表征为PSi,系统性能参数之和对应的权重参数为Wps,i的取值范围为大于0且小于等于N的正整数。
在一些实施例中,处理模块1542,用于为多个微服务系统下,不同路径对应的所选节点设备的路由性能参数,设置请求数量权重参数;若接收到多个服务请求,基于请求数量权重参数和多个服务请求的请求数量,确定多个服务请求对应的路由路径。
在一些实施例中,处理模块1542,用于若接收到多个服务请求,确定不同路径对应的所选节点设备所属互联网数据中心标识;从不同路径对应的所选节点设备的路由性能参数中,筛选出至少一个目标路径对应的所选节点设备的目标路由性能参数,其中,目标路径对应的所选节点设备中至少两个设备具有同一互联网数据中心标识;基于目标路由性能参数,确定多个服务请求对应的路由路径。
在一些实施例中,获取模块1541,用于若接收到多个服务请求,获取多个服务请求的时效信息和/或请求数量;处理模块1542,用于若多个服务请求中存在部分服务请求的时效信息符合时效条件,和/或多个服务请求的请求数量大于阈值数量,基于路由性能参数,确定部分服务请求对应的路由路径。
在一些实施例中,处理模块1542,用于针对多个服务请求中的剩余服务请求,对剩余服务请求中的每一请求的主键字段进行哈希计算得到哈希值;通过哈希值对微服务系统m下的所有节点设备的数量进行取模运算,得到取模结果;基于取模结果,将每一请求发送至对应的节点设备。
本申请提供的微服务的路由装置,通过获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,m和n为大于等于2的正整数,队列深度表征预设的节点设备n处理请求的处理性能,连接数表征节点设备n的端口所支持的对外连接数;基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数;基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数;若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径;也就是说,本申请收集实际路由中影响性能的如下参数处理器使用率、内存使用率、队列深度、连接数和统计的服务请求耗时进行分析,实现对请求路径中各个微服务系统下的节点设备的相关信息的收集和分析,进而,在后续服务请求到来时,将分析结果投入路由调度,实现动态调整路由路径,优化整体服务调用时间。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图2示出的方法。
本申请提供的存储介质,通过获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,m和n为大于等于2的正整数,队列深度表征预设的节点设备n处理请求的处理性能,连接数表征节点设备n的端口所支持的对外连接数;基于处理器使用率、内存使用率、队列深度和连接数,确定节点设备n的系统性能参数;基于系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,多个微服务系统下的所选节点设备的路由性能参数;若接收到多个服务请求,基于路由性能参数,确定多个服务请求对应的路由路径;也就是说,本申请收集实际路由中影响性能的如下参数处理器使用率、内存使用率、队列深度、连接数和统计的服务请求耗时进行分析,实现对请求路径中各个微服务系统下的节点设备的相关信息的收集和分析,进而,在后续服务请求到来时,将分析结果投入路由调度,实现动态调整路由路径,优化整体服务调用时间。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(超文本标记语言,Hyper Text Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种基于微服务的路由方法,其特征在于,包括:
获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,所述m和所述n为大于等于2的正整数,所述队列深度表征预设的所述节点设备n处理请求的处理性能,所述连接数表征所述节点设备n的端口所支持的对外连接数;
基于所述处理器使用率、内存使用率、队列深度和连接数,确定所述节点设备n的系统性能参数;
基于所述系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,所述多个微服务系统下的所选节点设备的路由性能参数;
若接收到多个服务请求,基于所述路由性能参数,确定所述多个服务请求对应的路由路径。
2.根据权利要求1中所述的方法,其特征在于,所述基于所述处理器使用率、内存使用率、队列深度和连接数,确定所述节点设备n的系统性能参数,包括:
分别为所述处理器使用率、所述内存使用率、所述队列深度和所述连接数配置权重参数;
将所述处理器使用率、所述内存使用率、所述队列深度、所述连接数、各个权重参数、所述节点设备n的阈值深度以及阈值连接数代入如下计算公式,计算所述节点设备n的系统性能参数,所述节点设备n的系统性能参数表征为PS:
其中,所述处理器使用率表征为pctcpu、所述pctcpu对应的权重参数为Wcpu,所述内存使用率表征为pct内存、所述pct内存对应的权重参数为W内存,所述队列深度对应的权重参数为W队列深度,所述连接数对应的权重参数为W连接数。
3.根据权利要求1所述的方法,其特征在于,所述基于所述系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,所述多个微服务系统下的所选节点设备的路由性能参数,包括:
分别为所述多个微服务系统下的所选节点设备的系统性能参数之和、所述统计的服务请求耗时配置权重参数;
将所述系统性能参数之和、统计的服务请求耗时以及各个权重参数代入如下计算公式,预测所述路由性能参数,所述路由性能参数表征为R:
R=WT×T+Wps×(PS1+PS2+PS3+......PSi+......+PSN);
其中,所述统计的服务请求耗时表征为T、所述对应的权重参数为WT,所述多个微服务系统的总数为N,任一微服务系统下所选节点设备的系统性能参数表征为PSi,所述系统性能参数之和对应的权重参数为Wps,i的取值范围为大于0且小于等于N的正整数。
4.根据权利要求1-3任一项中所述的方法,其特征在于,所述若接收到多个服务请求,基于所述路由性能参数,确定所述多个服务请求对应的路由路径,包括:
为所述多个微服务系统下,不同路径对应的所选节点设备的所述路由性能参数,设置请求数量权重参数;
若接收到所述多个服务请求,基于请求数量权重参数和所述多个服务请求的请求数量,确定所述多个服务请求对应的路由路径。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述若接收到多个服务请求,基于所述路由性能参数,确定所述多个服务请求对应的路由路径,包括:
若接收到多个服务请求,确定不同路径对应的所选节点设备所属互联网数据中心标识;
从不同路径对应的所选节点设备的所述路由性能参数中,筛选出至少一个目标路径对应的所选节点设备的目标路由性能参数,其中,所述目标路径对应的所选节点设备中至少两个设备具有同一互联网数据中心标识;
基于所述目标路由性能参数,确定所述多个服务请求对应的路由路径。
6.根据权利要求1-3任一项中所述的方法,其特征在于,所述若接收到多个服务请求,基于所述路由性能参数,确定所述多个服务请求对应的路由路径,包括:
若接收到所述多个服务请求,获取所述多个服务请求的时效信息和/或请求数量;
若所述多个服务请求中存在部分服务请求的时效信息符合时效条件,和/或所述多个服务请求的请求数量大于阈值数量,基于所述路由性能参数,确定所述部分服务请求对应的路由路径。
7.根据权利要求6所述的方法,其特征在于,所述若接收到所述多个服务请求,获取所述多个服务请求的时效信息之后,所述方法还包括:
针对所述多个服务请求中的剩余服务请求,对所述剩余服务请求中的每一请求的主键字段进行哈希计算得到哈希值;
通过所述哈希值对微服务系统m下的所有节点设备的数量进行取模运算,得到取模结果;
基于所述取模结果,将所述每一请求发送至对应的节点设备。
8.一种基于微服务的路由装置,其特征在于,包括:
获取模块,用于获取微服务系统m下的节点设备n的处理器使用率、内存使用率、队列深度和连接数,其中,所述m和所述n为大于等于2的正整数,所述队列深度表征预设的所述节点设备n处理请求的处理性能,所述连接数表征所述节点设备n的端口所支持的对外连接数;
处理模块,用于基于所述处理器使用率、内存使用率、队列深度和连接数,确定所述节点设备n的系统性能参数;
所述处理模块,用于基于所述系统性能参数和统计的服务请求耗时,预测路由过程中经过多个微服务系统时,所述多个微服务系统下的所选节点设备的路由性能参数;
所述处理模块,用于若接收到多个服务请求,基于所述路由性能参数,确定所述多个服务请求对应的路由路径。
9.一种基于微服务的路由设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的方法。
10.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111386475.5A CN114118560A (zh) | 2021-11-22 | 2021-11-22 | 一种基于微服务的路由方法、装置、设备及存储介质 |
PCT/CN2022/097857 WO2023087679A1 (zh) | 2021-11-22 | 2022-06-09 | 一种基于微服务的路由方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111386475.5A CN114118560A (zh) | 2021-11-22 | 2021-11-22 | 一种基于微服务的路由方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114118560A true CN114118560A (zh) | 2022-03-01 |
Family
ID=80439108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111386475.5A Pending CN114118560A (zh) | 2021-11-22 | 2021-11-22 | 一种基于微服务的路由方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114118560A (zh) |
WO (1) | WO2023087679A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023087679A1 (zh) * | 2021-11-22 | 2023-05-25 | 深圳前海微众银行股份有限公司 | 一种基于微服务的路由方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684493B (zh) * | 2023-06-13 | 2024-08-30 | 易保网络技术(上海)有限公司 | 路由选择方法、网络设备及计算机可读介质 |
CN116915866B (zh) * | 2023-09-12 | 2023-11-21 | 云粒智慧科技有限公司 | 网关配置方法、网关、微服务和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9716617B1 (en) * | 2016-06-14 | 2017-07-25 | ShieldX Networks, Inc. | Dynamic, load-based, auto-scaling network security microservices architecture |
US10223109B2 (en) * | 2016-12-22 | 2019-03-05 | Juniper Networks, Inc. | Automatic scaling of microservices applications |
US11405280B2 (en) * | 2019-07-24 | 2022-08-02 | Cisco Technology, Inc. | AI-driven capacity forecasting and planning for microservices apps |
US11714638B2 (en) * | 2019-09-18 | 2023-08-01 | International Business Machines Corporation | Availability level-based service management |
CN112437147B (zh) * | 2020-11-19 | 2023-01-17 | 浙江大学滨海产业技术研究院 | 一种微服务负载均衡最佳路由算法、装置、设备以及介质 |
CN114118560A (zh) * | 2021-11-22 | 2022-03-01 | 深圳前海微众银行股份有限公司 | 一种基于微服务的路由方法、装置、设备及存储介质 |
-
2021
- 2021-11-22 CN CN202111386475.5A patent/CN114118560A/zh active Pending
-
2022
- 2022-06-09 WO PCT/CN2022/097857 patent/WO2023087679A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023087679A1 (zh) * | 2021-11-22 | 2023-05-25 | 深圳前海微众银行股份有限公司 | 一种基于微服务的路由方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023087679A1 (zh) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
CN114118560A (zh) | 一种基于微服务的路由方法、装置、设备及存储介质 | |
US12073265B2 (en) | Event handling in distributed event handling systems | |
US20240259327A1 (en) | Software load balancer to maximize utilization | |
US10033659B2 (en) | Reputation-based mediation of virtual control planes | |
CN108681484B (zh) | 一种任务的分配方法、装置及设备 | |
US8387059B2 (en) | Black-box performance control for high-volume throughput-centric systems | |
CN104426799A (zh) | 通信量和负载感知动态队列管理 | |
US9882773B2 (en) | Virtual resource provider with virtual control planes | |
JP4984169B2 (ja) | 負荷分散プログラム、負荷分散方法、負荷分散装置およびそれを含むシステム | |
CN109831524B (zh) | 一种负载均衡处理方法及装置 | |
US9553774B2 (en) | Cost tracking for virtual control planes | |
EP1472846A1 (en) | Method and apparatus for web farm traffic control | |
CN108776934A (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN102662764B (zh) | 一种基于smdp的动态云计算资源优化分配方法 | |
CN107295090A (zh) | 一种资源调度的方法和装置 | |
Urgaonkar et al. | Cataclysm: Handling extreme overloads in internet services | |
CN117155942A (zh) | 一种微服务动态自适应客户端负载均衡方法及系统 | |
CN110113269B (zh) | 一种基于中间件的流量控制的方法及相关装置 | |
CN114531448A (zh) | 算力确定方法、装置及算力共享系统 | |
CN110515728A (zh) | 服务器调度方法、装置、电子设备及机器可读存储介质 | |
CN106789853A (zh) | 一种转码器的动态调度方法及装置 | |
CN110995802A (zh) | 任务的处理方法和装置、存储介质及电子装置 | |
EP1235393A2 (en) | Packet switch | |
US8149855B2 (en) | Method for transferring data packets to a shared resource, and related device and computer software |
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 |