CN116594769A - 一种微服务的请求响应方法、系统、计算机设备及介质 - Google Patents
一种微服务的请求响应方法、系统、计算机设备及介质 Download PDFInfo
- Publication number
- CN116594769A CN116594769A CN202310525587.7A CN202310525587A CN116594769A CN 116594769 A CN116594769 A CN 116594769A CN 202310525587 A CN202310525587 A CN 202310525587A CN 116594769 A CN116594769 A CN 116594769A
- Authority
- CN
- China
- Prior art keywords
- instance
- service
- gray
- list
- gray scale
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 63
- 230000004044 response Effects 0.000 claims abstract description 33
- 238000004043 dyeing Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 18
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 10
- 230000000875 corresponding effect Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 241000287219 Serinus canaria Species 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010186 staining Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及互联网及数字医疗领域,公开了一种微服务的请求响应方法、系统、计算机设备及介质,方法包括:接收针对微服务架构的资源调用请求,根据资源调用请求确定出灰度实例匹配策略;根据预设灰度实例标识和该策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;根据正常实例列表和灰度实例列表进行路由,生成目标实例;根据目标实例生成微服务处理结果,并返回至客户端进行展示。由于根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由,避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
Description
技术领域
本发明涉及互联网及数字医疗技术领域,特别涉及一种微服务的请求响应方法、系统、计算机设备及介质。
背景技术
随着微服务技术的大力发展,越来越多的软件平台采用微服务架构并结合灰度发布进行处理。灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度提升产品及功能的稳定性,降低产品升级对用户的影响降低生产发布系统停机时长。
灰度发布的软件系统在实际请求响应场景中,每个服务都会有多个服务实例组成一个目标服务集群,所以服务消费者在发起RCP(Remote Produce Call)实现远程调用时,需要先从目标服务集群中选择一个服务实例,这就是服务路由和负载均衡的过程。该过程会存在各环境并行迭代冲突的问题,从而降低了系统的迭代效率,增加了请求响应不必要的时间成本,降低了用户体验度。
发明内容
基于此,有必要针对各环境并行迭代冲突以及迭代效率低的问题,提供一种微服务的请求响应方法、系统、计算机设备及介质。
一种微服务的请求响应方法,方法包括:接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例;根据正常实例列表和灰度实例列表进行路由,生成目标实例;根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
在其中一个实施例中,根据预设灰度实例标识和灰度实例匹配策略对负载均衡器中预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,包括:初始化预先构建的服务实例列表;根据预设灰度实例标识将服务实例列表中的多个服务实例进行区分,生成正常服务实例集合和灰度服务实例集合;根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表;将正常服务实例集合确定为正常实例列表。
在其中一个实施例中,灰度实例匹配策略包括标签匹配策略和染色实例匹配策略;根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表,包括:采用标签匹配策略在灰度服务实例集合中匹配携带预设标签的服务实例,并过滤掉未携带预设标签的灰度服务实例,得到第一灰度服务实例集合;采用染色实例匹配策略在第一灰度服务实例集合中匹配携带预设染色参数的服务实例,并过滤掉未携带预设染色参数的服务实例,得到第二灰度服务实例集合;针对第二灰度服务实例集合进行等级划分,得到多级灰度服务实例集合;将多级灰度服务实例集合确定为匹配成功的灰度实例列表。
在其中一个实施例中,根据正常实例列表和灰度实例列表进行路由,生成目标实例,包括:根据灰度实例列表进行负载均衡,得到匹配结果;根据匹配结果确定灰度实例列表中是否存在资源调用请求对应的目标灰度实例;若是,则将目标灰度实例确定为目标实例;或者,若否,根据正常实例列表进行负载均衡,得到目标实例。
在其中一个实施例中,接收针对微服务架构的资源调用请求之前,还包括:确定当前系统中可对外提供服务能力的多个程序集;构建每个程序集的服务实例,得到多个服务实例;针对多个服务实例中每个实例添加服务标签,得到打标服务实例;根据服务标签对打标服务实例进行分类,得到多种类型的服务实例;在接收到针对多种类型的服务实例中任意一个服务实例的灰度策略配置指令时,对任意一个服务实例配置灰度策略;在灰度策略配置结束后,生成预先构建的服务实例列表。
在其中一个实施例中,根据资源调用请求确定出灰度实例匹配策略,包括:解析资源调用请求,得到解析数据;提取解析数据中的策略标识;当所述策略标识与预设标签和/或预设染色参数的标识一致时,将一致的标签所对应的标签匹配策略和/或一致的标识所对应的染色实例匹配策略确定为灰度实例匹配策略。
在其中一个实施例中,根据目标实例生成微服务处理结果,包括:获取资源调用请求中携带的实例参数;确定目标实例对应的应用程序接口,并调用应用程序接口的方法函数;将实例参数输入方法函数中,得到可执行的服务脚本;运行服务脚本,生成微服务处理结果。
一种微服务的请求响应系统,系统包括:灰度实例匹配策略确定模块,用于接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;实例列表生成模块,用于根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例;目标实例生成模块,用于根据正常实例列表和灰度实例列表进行路由,生成目标实例;微服务处理结果展示模块,用于根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述微服务的请求响应方法的步骤。
一种存储有计算机可读指令的介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述微服务的请求响应方法的步骤。
上述微服务的请求响应方法、系统、设备和介质,微服务的请求响应系统首先接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,然后根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,其中正常实例是在灰度发布时未配置灰度策略的服务实例,灰度实例是在灰度发布时配置灰度策略的服务实例;其次根据正常实例列表和灰度实例列表进行路由,生成目标实例,最后根据目标实例生成微服务处理结果,将微服务处理结果返回至客户端进行展示。由于本申请根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由操作,在路由时可根据正常实例列表和灰度实例列表两个表进行动态的负载均衡,从而避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请一个实施例中提供的微服务的请求响应方法的实施环境图;
图2为本申请一个实施例中计算机设备的内部结构示意图;
图3为本申请一个实施例中提供的微服务的请求响应方法的方法示意图;
图4为本申请另一个实施例中提供的微服务的请求响应方法的方法示意图;
图5是本申请实施例提供的一种微服务的请求响应系统的系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
图1为一个实施例中提供的微服务的请求响应方法的实施环境图,如图1所示,在该实施环境中,包括服务端110以及客户端120。
服务端110可以为服务器,该服务器具体可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,例如为保存服务实例列表的服务器设备。例如,用户在医疗平台上进行远程会诊时,用户通过点击任何一个会诊相关功能生成针对微服务架构的资源调用请求,并将该资源调用请求发送到服务端110,服务端110接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,服务端110根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,服务端110根据正常实例列表和灰度实例列表进行路由,生成目标实例,服务端110根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端120进行展示。
需要说明的是,客户端120可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。服务端110以及客户端120可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者其他通讯连接方式进行连接,本发明在此不做限制。
图2为一个实施例中计算机设备的内部结构示意图。如图2所示,该计算机设备包括通过系统总线连接的处理器、介质、存储器和网络接口。其中,该计算机设备的介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种微服务的请求响应方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种微服务的请求响应方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,介质为一种可读的存储介质。
下面将结合附图3-4,对本申请实施例提供的微服务的请求响应方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的微服务的请求响应系统上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大微服务的请求响应技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
请参见图3,为本申请实施例提供了一种微服务的请求响应方法的流程示意图。如图3所示,本申请实施例的方法可以包括以下步骤:
S101,接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;
其中,微服务是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成,服务之间通过RCP(Remote Produce Call)实现远程调用,RPC能够使得服务间的调用像本地调用一样方便,让调用者感知不到远程调用的逻辑。资源调用请求是用户通过触发软件平台上某个功能而生成的。
在本申请实施例中,在接收针对微服务架构的资源调用请求时,首先解析资源调用请求,得到解析数据,然后提取解析数据中的策略标识,最后当所述策略标识与预设标签和/或预设染色参数的标识一致时,将一致的标签所对应的标签匹配策略和/或一致的标识所对应的染色实例匹配策略确定为灰度实例匹配策略。
进一步地,当策略标识与预设标签和/或预设染色参数的标识不一致时,可将目前使用的通用策略确定为灰度实例匹配策略。
需要说明的是,不同的灰度实例匹配策略可以为用户提供不同的实例,不同的实例可以为用户提供不同的功能处理逻辑。
S102,根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;
其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例。
通常,灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度提升产品及功能的稳定性,降低产品升级对用户的影响降低生产发布系统停机时长,可做到无缝生产环境切换,开发测试人员无需半夜对生产功能进行在线验证,对某些需隔日发现的bug可提早发现。
在本申请实施例中,在生成预先构建的服务实例列表时,首先确定当前系统中可对外提供服务能力的多个程序集,并构建每个程序集的服务实例,得到多个服务实例,然后针对多个服务实例中每个实例添加服务标签,得到打标服务实例,再根据服务标签对打标服务实例进行分类,得到多种类型的服务实例,其次在接收到针对多种类型的服务实例中任意一个服务实例的灰度策略配置指令时,对任意一个服务实例配置灰度策略,最后在灰度策略配置结束后,生成预先构建的服务实例列表。
在一种可能的实现方式中,在对负载均衡器中预先构建的服务实例列表进行处理时,首先初始化预先构建的服务实例列表,然后根据预设灰度实例标识将服务实例列表中的多个服务实例进行区分,生成正常服务实例集合和灰度服务实例集合,其次根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表,最后将正常服务实例集合确定为正常实例列表。
具体的,灰度实例匹配策略包括标签匹配策略和染色实例匹配策略。
进一步地,在根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表时,首先采用标签匹配策略在灰度服务实例集合中匹配携带预设标签的服务实例,并过滤掉未携带预设标签的灰度服务实例,得到第一灰度服务实例集合,然后采用染色实例匹配策略在第一灰度服务实例集合中匹配携带预设染色参数的服务实例,并过滤掉未携带预设染色参数的服务实例,得到第二灰度服务实例集合,其次针对第二灰度服务实例集合进行等级划分,得到多级灰度服务实例集合,最后将多级灰度服务实例集合确定为匹配成功的灰度实例列表。
具体的,在针对第二灰度服务实例集合进行等级划分时,首先统计预设周期内第二灰度服务实例集合中每个第二灰度服务实例的被调用次数,然后将被调用次数大于预设区间的上限值的服务实例确定为第一等级,将被调用次数在预设区间内的服务实例确定为第二等级,将被调用次数小于预设区间下限值的服务实例确定为第三等级。
等级的大小关系为:第一等级>第二等级>第三等级。预设周期可以根据实际应用场景进行确定,例如几个小时、几天或者一周。
S103,根据正常实例列表和灰度实例列表进行路由,生成目标实例;
在本申请实施例中,在根据正常实例列表和灰度实例列表进行路由时,首先根据灰度实例列表进行负载均衡,得到匹配结果,然后根据匹配结果确定灰度实例列表中是否存在资源调用请求对应的目标灰度实例;若是,则将目标灰度实例确定为目标实例;或者,若否,根据正常实例列表进行负载均衡,得到目标实例。
在一种可能的实现方式中,得到匹配成功的正常实例列表和灰度实例列表后进行路由,优先使用灰度实例列表进行负载均衡,如果灰度实例列表为空,则使用正常实例列表进行负载均衡,得到目标实例。如果灰度实例列表不为空,则表示灰度实例列表中存在资源调用请求对应的一个目标实例,则进行直接采用灰度实例列表进行负载均衡后得到目标实例。
S104,根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
在一种可能的实现方式中,在根据目标实例生成微服务处理结果时,首先获取资源调用请求中携带的实例参数,然后确定目标实例对应的应用程序接口,并调用应用程序接口的方法函数,其次将实例参数输入方法函数中,得到可执行的服务脚本,最后运行服务脚本,生成微服务处理结果。
进一步地,在得到微服务处理结果后,可将微服务处理结果返回至客户端进行展示。
例如,在得到目标实例后,可根据该实例对应的功能代码与用户请求中的参数进行关联映射后进行执行,得到结果并反馈给用户。
在本申请实施例中,微服务的请求响应系统首先接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,然后根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,其中正常实例是在灰度发布时未配置灰度策略的服务实例,灰度实例是在灰度发布时配置灰度策略的服务实例;其次根据正常实例列表和灰度实例列表进行路由,生成目标实例,最后根据目标实例生成微服务处理结果,将微服务处理结果返回至客户端进行展示。由于本申请根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由操作,避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
请参见图4,为本申请实施例提供了另一种微服务的请求响应方法的流程示意图。如图4所示,本申请实施例的方法可以包括以下步骤:
S201,接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;
S202,初始化预先构建的服务实例列表;
S203,根据预设灰度实例标识将服务实例列表中的多个服务实例进行区分,生成正常服务实例集合和灰度服务实例集合;
S204,根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表,将正常服务实例集合确定为正常实例列表;
S205,根据灰度实例列表进行负载均衡,得到匹配结果;
S206,根据匹配结果确定灰度实例列表中是否存在资源调用请求对应的目标灰度实例;
S207,若是,则将目标灰度实例确定为目标实例;或者,若否,根据正常实例列表进行负载均衡,得到目标实例;
S208,根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
在本申请实施例中,微服务的请求响应系统首先接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,然后根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,其中正常实例是在灰度发布时未配置灰度策略的服务实例,灰度实例是在灰度发布时配置灰度策略的服务实例;其次根据正常实例列表和灰度实例列表进行路由,生成目标实例,最后根据目标实例生成微服务处理结果,将微服务处理结果返回至客户端进行展示。由于本申请根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由操作,避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
下述为本发明系统实施例,可以用于执行本发明方法实施例。对于本发明系统实施例中未披露的细节,请参照本发明方法实施例。
请参见图5,其示出了本发明一个示例性实施例提供的微服务的请求响应系统的结构示意图。该微服务的请求响应系统可以通过软件、硬件或者两者的结合实现成为设备的全部或一部分。该系统1包括灰度实例匹配策略确定模块10、实例列表生成模块20、目标实例生成模块30以及微服务处理结果展示模块40。
灰度实例匹配策略确定模块10,用于接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;
实例列表生成模块20,用于根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例;
目标实例生成模块30,用于根据正常实例列表和灰度实例列表进行路由,生成目标实例;
微服务处理结果展示模块40,用于根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
需要说明的是,上述实施例提供的微服务的请求响应系统在执行微服务的请求响应方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的微服务的请求响应系统与微服务的请求响应方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,微服务的请求响应系统首先接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,然后根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,其中正常实例是在灰度发布时未配置灰度策略的服务实例,灰度实例是在灰度发布时配置灰度策略的服务实例;其次根据正常实例列表和灰度实例列表进行路由,生成目标实例,最后根据目标实例生成微服务处理结果,将微服务处理结果返回至客户端进行展示。由于本申请根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由操作,避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
在一个实施例中,提出了一种计算机设备,设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;
根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例;
根据正常实例列表和灰度实例列表进行路由,生成目标实例;
根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
在一个实施例中,处理器执行根据预设灰度实例标识和灰度实例匹配策略对负载均衡器中预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表时,具体执行以下操作:
初始化预先构建的服务实例列表;
根据预设灰度实例标识将服务实例列表中的多个服务实例进行区分,生成正常服务实例集合和灰度服务实例集合;
根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表;
将正常服务实例集合确定为正常实例列表。
在一个实施例中,处理器执行根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表时,具体执行以下操作:
采用标签匹配策略在灰度服务实例集合中匹配携带预设标签的服务实例,并过滤掉未携带预设标签的灰度服务实例,得到第一灰度服务实例集合;
采用染色实例匹配策略在第一灰度服务实例集合中匹配携带预设染色参数的服务实例,并过滤掉未携带预设染色参数的服务实例,得到第二灰度服务实例集合;
针对第二灰度服务实例集合进行等级划分,得到多级灰度服务实例集合;
将多级灰度服务实例集合确定为匹配成功的灰度实例列表。
在一个实施例中,处理器执行根据正常实例列表和灰度实例列表进行路由,生成目标实例时,具体执行以下操作:
根据灰度实例列表进行负载均衡,得到匹配结果;
根据匹配结果确定灰度实例列表中是否存在资源调用请求对应的目标灰度实例;
若是,则将目标灰度实例确定为目标实例;
或者,
若否,根据正常实例列表进行负载均衡,得到目标实例。
在一个实施例中,处理器在执行接收针对微服务架构的资源调用请求之前时,还执行以下操作:
确定当前系统中可对外提供服务能力的多个程序集;
构建每个程序集的服务实例,得到多个服务实例;
针对多个服务实例中每个实例添加服务标签,得到打标服务实例;
根据服务标签对打标服务实例进行分类,得到多种类型的服务实例;
在接收到针对多种类型的服务实例中任意一个服务实例的灰度策略配置指令时,对任意一个服务实例配置灰度策略;
在灰度策略配置结束后,生成预先构建的服务实例列表。
在一个实施例中,处理器执行根据资源调用请求确定出灰度实例匹配策略时,具体执行以下操作:
解析资源调用请求,得到解析数据;
提取解析数据中的策略标识;
当所述策略标识与预设标签和/或预设染色参数的标识一致时,将一致的标签所对应的标签匹配策略和/或一致的标识所对应的染色实例匹配策略确定为灰度实例匹配策略。
在一个实施例中,处理器执行根据目标实例生成微服务处理结果时,具体执行以下操作:
获取资源调用请求中携带的实例参数;
确定目标实例对应的应用程序接口,并调用应用程序接口的方法函数;
将实例参数输入方法函数中,得到可执行的服务脚本;
运行服务脚本,生成微服务处理结果。
在本申请实施例中,微服务的请求响应系统首先接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,然后根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,其中正常实例是在灰度发布时未配置灰度策略的服务实例,灰度实例是在灰度发布时配置灰度策略的服务实例;其次根据正常实例列表和灰度实例列表进行路由,生成目标实例,最后根据目标实例生成微服务处理结果,将微服务处理结果返回至客户端进行展示。由于本申请根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由操作,避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
在一个实施例中,提出了一种存储有计算机可读指令的介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;
根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例;
根据正常实例列表和灰度实例列表进行路由,生成目标实例;
根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
在一个实施例中,处理器执行根据预设灰度实例标识和灰度实例匹配策略对负载均衡器中预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表时,具体执行以下操作:
初始化预先构建的服务实例列表;
根据预设灰度实例标识将服务实例列表中的多个服务实例进行区分,生成正常服务实例集合和灰度服务实例集合;
根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表;
将正常服务实例集合确定为正常实例列表。
在一个实施例中,处理器执行根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表时,具体执行以下操作:
采用标签匹配策略在灰度服务实例集合中匹配携带预设标签的服务实例,并过滤掉未携带预设标签的灰度服务实例,得到第一灰度服务实例集合;
采用染色实例匹配策略在第一灰度服务实例集合中匹配携带预设染色参数的服务实例,并过滤掉未携带预设染色参数的服务实例,得到第二灰度服务实例集合;
针对第二灰度服务实例集合进行等级划分,得到多级灰度服务实例集合;
将多级灰度服务实例集合确定为匹配成功的灰度实例列表。
在一个实施例中,处理器执行根据正常实例列表和灰度实例列表进行路由,生成目标实例时,具体执行以下操作:
根据灰度实例列表进行负载均衡,得到匹配结果;
根据匹配结果确定灰度实例列表中是否存在资源调用请求对应的目标灰度实例;
若是,则将目标灰度实例确定为目标实例;
或者,
若否,根据正常实例列表进行负载均衡,得到目标实例。
在一个实施例中,处理器在执行接收针对微服务架构的资源调用请求之前时,还执行以下操作:
确定当前系统中可对外提供服务能力的多个程序集;
构建每个程序集的服务实例,得到多个服务实例;
针对多个服务实例中每个实例添加服务标签,得到打标服务实例;
根据服务标签对打标服务实例进行分类,得到多种类型的服务实例;
在接收到针对多种类型的服务实例中任意一个服务实例的灰度策略配置指令时,对任意一个服务实例配置灰度策略;
在灰度策略配置结束后,生成预先构建的服务实例列表。
在一个实施例中,处理器执行根据资源调用请求确定出灰度实例匹配策略时,具体执行以下操作:
解析资源调用请求,得到解析数据;
提取解析数据中的策略标识;
当所述策略标识与预设标签和/或预设染色参数的标识一致时,将一致的标签所对应的标签匹配策略和/或一致的标识所对应的染色实例匹配策略确定为灰度实例匹配策略。
在一个实施例中,处理器执行根据目标实例生成微服务处理结果时,具体执行以下操作:
获取资源调用请求中携带的实例参数;
确定目标实例对应的应用程序接口,并调用应用程序接口的方法函数;
将实例参数输入方法函数中,得到可执行的服务脚本;
运行服务脚本,生成微服务处理结果。
在本申请实施例中,微服务的请求响应系统首先接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,然后根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,其中正常实例是在灰度发布时未配置灰度策略的服务实例,灰度实例是在灰度发布时配置灰度策略的服务实例;其次根据正常实例列表和灰度实例列表进行路由,生成目标实例,最后根据目标实例生成微服务处理结果,将微服务处理结果返回至客户端进行展示。由于本申请根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由操作,避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性介质,或随机存储记忆体(RandomAccess Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种微服务的请求响应方法,其特征在于,所述方法包括:
接收针对微服务架构的资源调用请求,并根据所述资源调用请求确定出灰度实例匹配策略;
根据预设灰度实例标识和所述灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,所述正常实例是在灰度发布时未配置灰度策略的服务实例;所述灰度实例是在灰度发布时配置灰度策略的服务实例;
根据所述正常实例列表和灰度实例列表进行路由,生成目标实例;
根据所述目标实例生成微服务处理结果,并将所述微服务处理结果返回至客户端进行展示。
2.根据权利要求2所述的方法,其特征在于,所述根据预设灰度实例标识和所述灰度实例匹配策略对负载均衡器中预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,包括:
初始化预先构建的服务实例列表;
根据所述预设灰度实例标识将所述服务实例列表中的多个服务实例进行区分,生成正常服务实例集合和灰度服务实例集合;
根据所述灰度实例匹配策略在所述灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表;
将所述正常服务实例集合确定为正常实例列表。
3.根据权利要求2所述的方法,其特征在于,所述灰度实例匹配策略包括标签匹配策略和染色实例匹配策略;
根据所述灰度实例匹配策略在所述灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表,包括:
采用标签匹配策略在所述灰度服务实例集合中匹配携带预设标签的服务实例,并过滤掉未携带预设标签的灰度服务实例,得到第一灰度服务实例集合;
采用染色实例匹配策略在所述第一灰度服务实例集合中匹配携带预设染色参数的服务实例,并过滤掉未携带预设染色参数的服务实例,得到第二灰度服务实例集合;
针对所述第二灰度服务实例集合进行等级划分,得到多级灰度服务实例集合;
将所述多级灰度服务实例集合确定为匹配成功的灰度实例列表。
4.根据权利要求1所述的方案,其特征在于,所述根据所述正常实例列表和灰度实例列表进行路由,生成目标实例,包括:
根据所述灰度实例列表进行负载均衡,得到匹配结果;
根据所述匹配结果确定所述灰度实例列表中是否存在所述资源调用请求对应的目标灰度实例;
若是,则将所述目标灰度实例确定为目标实例;
或者,
若否,根据所述正常实例列表进行负载均衡,得到目标实例。
5.根据权利要求1所述的方法,其特征在于,所述接收针对微服务架构的资源调用请求之前,还包括:
确定当前系统中可对外提供服务能力的多个程序集;
构建每个程序集的服务实例,得到多个服务实例;
针对所述多个服务实例中每个实例添加服务标签,得到打标服务实例;
根据服务标签对所述打标服务实例进行分类,得到多种类型的服务实例;
在接收到针对多种类型的服务实例中任意一个服务实例的灰度策略配置指令时,对所述任意一个服务实例配置灰度策略;
在灰度策略配置结束后,生成预先构建的服务实例列表。
6.根据权利要求1所述的方法,其特征在于,所述根据所述资源调用请求确定出灰度实例匹配策略,包括:
解析所述资源调用请求,得到解析数据;
提取所述解析数据中的策略标识;
当所述策略标识与预设标签和/或预设染色参数的标识一致时,将一致的标签所对应的标签匹配策略和/或一致的标识所对应的染色实例匹配策略确定为灰度实例匹配策略。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标实例生成微服务处理结果,包括:
获取所述资源调用请求中携带的实例参数;
确定所述目标实例对应的应用程序接口,并调用应用程序接口的方法函数;
将所述实例参数输入所述方法函数中,得到可执行的服务脚本;
运行所述服务脚本,生成微服务处理结果。
8.一种微服务的请求响应系统,其特征在于,所述系统包括:
灰度实例匹配策略确定模块,用于接收针对微服务架构的资源调用请求,并根据所述资源调用请求确定出灰度实例匹配策略;
实例列表生成模块,用于根据预设灰度实例标识和所述灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,所述正常实例是在灰度发布时未配置灰度策略的服务实例;所述灰度实例是在灰度发布时配置灰度策略的服务实例;
目标实例生成模块,用于根据所述正常实例列表和灰度实例列表进行路由,生成目标实例;
微服务处理结果展示模块,用于根据所述目标实例生成微服务处理结果,并将所述微服务处理结果返回至客户端进行展示。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述微服务的请求响应方法的步骤。
10.一种存储有计算机可读指令的介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7权利要求书中任一项权利要求所述微服务的请求响应的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525587.7A CN116594769A (zh) | 2023-05-10 | 2023-05-10 | 一种微服务的请求响应方法、系统、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525587.7A CN116594769A (zh) | 2023-05-10 | 2023-05-10 | 一种微服务的请求响应方法、系统、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116594769A true CN116594769A (zh) | 2023-08-15 |
Family
ID=87600136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310525587.7A Pending CN116594769A (zh) | 2023-05-10 | 2023-05-10 | 一种微服务的请求响应方法、系统、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116594769A (zh) |
-
2023
- 2023-05-10 CN CN202310525587.7A patent/CN116594769A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
CN112036577B (zh) | 基于数据形式的应用机器学习的方法、装置和电子设备 | |
US20170019407A1 (en) | Method and server for providing image captcha | |
CN116308521A (zh) | 一种会员权益配置处理方法、系统、计算机设备及介质 | |
CN114611041A (zh) | 一种前端页面构建方法、装置、计算机设备及介质 | |
CN110290169A (zh) | 一种服务订单响应方法及装置 | |
CN111582459A (zh) | 执行操作的方法、电子设备、装置及存储介质 | |
CN110555550A (zh) | 在线预测服务的部署方法、装置及设备 | |
CN110569984A (zh) | 配置信息生成方法、装置、设备及存储介质 | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
US9323509B2 (en) | Method and system for automated process distribution | |
CN116594769A (zh) | 一种微服务的请求响应方法、系统、计算机设备及介质 | |
CN112230911B (zh) | 模型部署方法、装置、计算机设备和存储介质 | |
CN115202907A (zh) | 一种应用程序接口的运行方法、系统、计算机设备及介质 | |
CN114510322A (zh) | 一种业务集群的压测控制方法、装置、计算机设备及介质 | |
CN114661887A (zh) | 一种跨领域数据推荐方法、装置、计算机设备及介质 | |
CN113468446A (zh) | 一种支持识别第三方二维码数据的方法、系统及设备 | |
CN113868396A (zh) | 基于知识图谱的任务类智能对话构建方法及系统 | |
CN112308074A (zh) | 用于生成缩略图的方法和装置 | |
CN116719627B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116501365B (zh) | 基于算法平台的资源调用方法、装置及设备 | |
CN111324472B (zh) | 对待检测信息作垃圾项目判断的方法和装置 | |
CN113805976B (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 |