CN110677475A - 一种微服务处理方法、装置、设备及存储介质 - Google Patents
一种微服务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110677475A CN110677475A CN201910920010.XA CN201910920010A CN110677475A CN 110677475 A CN110677475 A CN 110677475A CN 201910920010 A CN201910920010 A CN 201910920010A CN 110677475 A CN110677475 A CN 110677475A
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- configuration data
- request
- microservice
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本申请公开了一种微服务处理方法、装置、设备及存储介质,该方法的步骤包括:监听传入的操作请求;如果操作请求为配置变更请求,则获取配置变更请求对应的微服务配置数据;获取与微服务配置数据对应的微服务的原始配置数据,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系;通过微服务配置数据覆盖原始配置数据。本方法是以微服务为粒度对配置信息进行针对性的变更操作,对于不同微服务的配置操作均基于该微服务唯一对应的原始配置数据进行新配置数据的覆盖,相对确保了技术人员对微服务的可维护性,进而确保了微服务的业务可靠性。此外,本申请还提供一种微服务处理装置、设备及存储介质,有益效果同上所述。
Description
技术领域
本申请涉及微服务领域,特别是涉及一种微服务处理方法、装置、设备及存储介质。
背景技术
微服务架构是一项在云中部署应用和服务的技术,微服务即一个提供特定功能的最小系统服务单元。
当前能够基于微服务架构将一个完整的应用程序或服务拆分为成百上千个微服务。微服务的策略可以让应用程序或服务的工作变得更为简便,它可扩展单个组件而不对整个的应用程序或服务的堆栈造成改变,从而满足服务等级协议。一个站点可能通过多个系统的微服务向外输送服务能力,如静态资源、页面、Ajax接口、API调用等。
当前对于微服务的配置方式往往是通过对配置数据中的配置参数进行相应的配置实现的,但是在企业级微服务架构下微服务的数量相对庞大,这就导致配置数据中的内容杂糅有各个微服务的配置数据,降低了技术人员对微服务的可维护性,进而难以确保微服务的业务可靠性。
由此可见,提供一种微服务处理方法,以提高技术人员对于微服务的可维护性,进而相对确保微服务的业务可靠性,是本领域技术人员需要解决的问题。
发明内容
本申请的目的是提供一种微服务处理方法、装置、设备及存储介质,以提高技术人员对于微服务的可维护性,进而相对确保微服务的业务可靠性。
为解决上述技术问题,本申请提供一种微服务处理方法,包括:
监听传入的操作请求;
如果操作请求为配置变更请求,则获取配置变更请求对应的微服务配置数据;
获取与微服务配置数据对应的微服务的原始配置数据,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系;
通过微服务配置数据覆盖原始配置数据。
优选的,在监听传入的操作请求之后,方法还包括:
如果操作请求为HTTP协议请求,则根据HTTP协议请求匹配目标微服务配置数据,目标微服务配置数据中记录有目标微服务实例的访问地址;
根据访问地址将HTTP协议请求转发至目标微服务实例,并获取目标微服务实例对HTTP协议请求的响应信息;
将响应信息发送至HTTP协议请求的传入设备。
优选的,HTTP协议请求中包括域名、路径、请求头以及请求参数;
根据HTTP协议请求匹配目标微服务配置数据,包括:
根据域名、路径、请求头以及请求参数在微服务配置数据的路由策略中查找对应的目标微服务。
优选的,在根据访问地址将HTTP协议请求转发至目标微服务实例之前,方法还包括:
获取目标微服务实例的工作状态参数;
判断工作状态参数是否满足预先配置的请求转发标准;
如果工作状态参数满足请求转发标准,则执行根据访问地址将HTTP协议请求转发至目标微服务实例的步骤;
如果工作状态参数未满足请求转发标准,则判断工作状态参数是否满足预先配置的熔断降级标准;
如果工作状态参数满足熔断降级标准,则对HTTP协议请求执行熔断降级处理,生成降级处理结果;
将降级处理结果发送至HTTP协议请求的传入设备。
优选的,当目标微服务实例的数量大于1时,在根据访问地址将HTTP协议请求转发至目标微服务实例之前,方法还包括:
基于预先配置的负载均衡策略在目标微服务实例中选取提供响应操作的目标微服务实例;
根据访问地址将HTTP协议请求转发至目标微服务实例,包括:
根据访问地址将HTTP协议请求转发至提供响应操作的目标微服务实例。
优选的,获取与微服务配置数据对应的微服务的原始配置数据,包括:
在内存中获取与微服务配置数据对应的微服务的原始配置数据;
通过微服务配置数据覆盖原始配置数据,包括:
通过微服务配置数据覆盖内存中的原始配置数据。
此外,本申请还提供一种微服务处理装置,包括:
请求监听模块,用于监听传入的操作请求;
变更获取模块,用于如果操作请求为配置变更请求,则获取配置变更请求对应的微服务配置数据;
原配置获取模块,用于获取与微服务配置数据对应的微服务的原始配置数据,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系;
配置覆盖模块,用于通过微服务配置数据覆盖原始配置数据。
此外,本申请还提供一种微服务处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的微服务处理方法的步骤。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的微服务处理方法的步骤。
本申请所提供的微服务处理方法,首先监听传入的操作请求,如果操作请求为配置变更请求时,则获取该配置变更请求对应的微服务配置数据,进而获取与之对应的微服务原始配置数据,其中,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系,最终以变更后的微服务配置数据覆盖原始配置数据,以此实现针对于微服务的配置,由于微服务唯一对应原始配置数据,并且微服务配置数据与原始配置数据之间存在唯一的对应关系,因此本方法是以微服务为粒度对配置信息进行针对性的变更操作,对于不同微服务的配置操作均基于该微服务唯一对应的原始配置数据进行新配置数据的覆盖,相对确保了技术人员对微服务的可维护性,进而确保了微服务的业务可靠性。此外,本申请还提供一种微服务处理装置、设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种微服务处理方法的流程图;
图2为本申请实施例提供的一种微服务处理方法的流程图;
图3为本申请实施例提供的一种具体应用场景下的通信时序图;
图4为本申请实施例提供的一种微服务处理装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
当前对于微服务的配置方式往往是通过对配置数据中的配置参数进行相应的配置实现的,但是在企业级微服务架构下微服务的数量相对庞大,这就导致配置数据中的内容杂糅有各个微服务的配置数据,降低了技术人员对微服务的可维护性,进而难以确保微服务的业务可靠性。
本申请的核心是提供一种微服务处理方法,以提高技术人员对于微服务的可维护性,进而相对确保微服务的业务可靠性。本申请的另一核心是提供一种微服务处理装置、设备及存储介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
请参见图1所示,本申请实施例公开了一种微服务处理方法,包括:
步骤S10:监听传入的操作请求。
需要说明的是,本实施例的执行主体可以为建立在客户端与微服务之间的中间件设备,客户端可以进一步包括供前端用户,即微服务使用者使用的客户端,以及供后端用户,即微服务开发者使用的客户端,因此本步骤中监听的操作请求可以进一步包括由前端用户传入的访问请求以及后端用户的配置变更请求。本步骤监听传入的操作请求的目的是在监听到操作请求后,能够进一步根据操作请求的具体类型,执行相应的响应操作。
步骤S11:如果操作请求为配置变更请求,则获取配置变更请求对应的微服务配置数据。
在监听到传入的操作请求后,进一步对操作请求的类型进行判定,当操作请求为配置变更请求时,则说明该操作请求是由后端用户传入的,并且用于对微服务进行配置的请求,因此进一步获取配置变更请求对应的微服务配置数据,微服务配置数据是后端用户在中间件中针对微服务进行配置所基于的数据。
步骤S12:获取与微服务配置数据对应的微服务的原始配置数据,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系。
在获取到微服务配置数据后,能够进一步根据微服务配置数据中的特征信息获取到其所对应的微服务,进而获取到该微服务的原始配置数据。本方法的重点在于,微服务配置数据与原始配置数据之间存在唯一的对应关系,也就是说,每一个微服务均有与其唯一对应的原始配置数据,进而能够通过将微服务配置数据完全替换微服务对应的原始配置数据,以实现对微服务的配置变更。
步骤S13:通过微服务配置数据覆盖原始配置数据。
在获取到用户传入的最新的微服务配置数据,并根据微服务配置数据检索到相应的微服务的原始配置数据后,进一步通过该微服务配置数据覆盖原配置数据完成对微服务的配置变更。本实施例的重点在于,在对微服务进行配置变更时,根据不同的微服务能够找到相应的原始配置数据,也就是说,对于不同的微服务而言,其对应的原始配置数据也是不同的,因此在对于某一个微服务进行配置变更时,是通过配置变更请求对应的微服务配置数据对该微服务对应的原始配置数据进行覆盖。
作为一种优选的实施方式,获取与微服务配置数据对应的微服务的原始配置数据,包括:
在内存中获取与微服务配置数据对应的微服务的原始配置数据;
相应的,通过微服务配置数据覆盖原始配置数据,包括:
通过微服务配置数据覆盖内存中的原始配置数据。
由于考虑到中间件根据配置数据向用户提供服务的基础是预先将配置数据由磁盘加载至内存中,但是将配置数据由磁盘加载至内存的过程需要暂停中间件对于用户的服务,从而可能导致中间件对用户请求的响应效率较低,因此为了进一步确保中间件对于用户请求的响应效率,本实施方式直接在内存中获取与微服务对应的原始配置数据,进而将用户最新配置的微服务配置数据覆盖至原始内存的原始配置数据,由于本实施方式中,是通过微服务配置数据直接在内存中替换原始配置数据,因此微服务配置数据能够直接生效,无需中间件暂停向用户提供服务的情况发生,相对确保了中间件对于用户请求的响应效率。
本申请所提供的微服务处理方法,首先监听传入的操作请求,如果操作请求为配置变更请求时,则获取该配置变更请求对应的微服务配置数据,进而获取与之对应的微服务原始配置数据,其中,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系,最终以变更后的微服务配置数据覆盖原始配置数据,以此实现针对于微服务的配置,由于微服务唯一对应原始配置数据,并且微服务配置数据与原始配置数据之间存在唯一的对应关系,因此本方法是以微服务为粒度对配置信息进行针对性的变更操作,对于不同微服务的配置操作均基于该微服务唯一对应的原始配置数据进行新配置数据的覆盖,相对确保了技术人员对微服务的可维护性,进而确保了微服务的业务可靠性。
请参见图2所示,本申请实施例公开了一种微服务处理方法,包括:
步骤S20:监听传入的操作请求。
步骤S211:如果所述操作请求为配置变更请求,则获取所述配置变更请求对应的微服务配置数据。
步骤S212:获取与所述微服务配置数据对应的微服务的原始配置数据,所述微服务唯一对应所述原始配置数据,且所述微服务配置数据与所述原始配置数据之间存在唯一对应关系。
步骤S213:通过所述微服务配置数据覆盖所述原始配置数据。
步骤S221:如果操作请求为HTTP协议请求,则根据HTTP协议请求匹配目标微服务配置数据,目标微服务配置数据中记录有目标微服务实例的访问地址。
需要说明的是,步骤S221至步骤S223,以及步骤S211至步骤S123是针对于不同场景而执行的两套独立的操作过程,也就是说,步骤S221与步骤S211是根据操作请求的实际类型而选择性执行的两个并列的操作步骤,并且在同一场景下,步骤S221与与步骤S211择一执行。
当操作请求为HTTP协议请求时,说明当前场景下传入操作请求的为前端用户,前端用户传入HTTP协议请求的目的是通过中间件对微服务发起访问,因此当监听到的操作请求为HTTP协议请求时,则进一步根据HTTP协议请求匹配相应的目标微服务配置数据,目标微服务配置数据中记录有目标微服务实例的访问地址。本步骤中的目标微服务实例是由基于微服务的源代码运行的具有实际服务能力的微服务进程,中间件在接收到HTTP协议请求后,根据该HTTP协议请求匹配对应的目标微服务配置数据,目标微服务配置数据中预先记录有相应的目标微服务实例的访问地址。在本实施例中,根据HTTP协议请求匹配对应的目标微服务配置数据的过程具体是根据HTTP协议请求中的参数信息获悉前端用户所需要访问的目标微服务,进而找到该目标微服务对应的目标微服务配置数据,并进一步在目标微服务配置数据中获悉基于目标微服务的源码运行的目标微服务实例的访问地址。
作为一种优选的实施方式,HTTP协议请求中可以包括域名、路径、请求头以及请求参数;
根据HTTP协议请求匹配目标微服务配置数据,包括:
根据域名、路径、请求头以及请求参数在微服务配置数据的路由策略中查找对应的目标微服务。
需要说明的是,域名、路径、能够唯一表征目标微服务的路由位置,请求头以及请求参数能够进一步明确对于目标微服务的请求内容,因此本实施方式中HTTP协议请求中包括域名、路径、请求头以及请求参数,进而在收到HTTP协议请求后根据域名、路径、请求头以及请求参数在微服务配置数据的路由策略中查找对应的目标微服务,能够进一步确保查找目标微服务的准确性。
步骤S222:根据访问地址将HTTP协议请求转发至目标微服务实例,并获取目标微服务实例对HTTP协议请求的响应信息。
在获取到目标微服务实例的访问地址后,进一步根据访问地址将HTTP协议请求转发至目标微服务实例,以此是目标微服务实例对HTTP协议请求进行响应处理,并返回相应的响应数据。
步骤S223:将响应信息发送至HTTP协议请求的传入设备。
进而在收到目标微服务实例对HTTP协议请求的响应信息后,将响应信息发送至HTTP协议请求的传入设备中,以供前端用户使用。
本实施例能够正常响应前端用户传入的HTTP协议请求,并相对可靠的将HTTP协议请求转发至相应的微服务实例,并将微服务实例产生的响应数据提供给前端用户,进一步确保了在监听传入的操作请求后,对于操作请求进行响应的灵活性以及全面性。
在上述实施例的基础上,本申请还提供如下一系列优选的实施方式。
作为一种优选的实施方式,在根据访问地址将HTTP协议请求转发至目标微服务实例之前,方法还包括:
获取目标微服务实例的工作状态参数;
判断工作状态参数是否满足预先配置的请求转发标准;
如果工作状态参数满足请求转发标准,则执行根据访问地址将HTTP协议请求转发至目标微服务实例的步骤;
如果工作状态参数未满足请求转发标准,则判断工作状态参数是否满足预先配置的熔断降级标准;
如果工作状态参数满足熔断降级标准,则对HTTP协议请求执行熔断降级处理,生成降级处理结果;
将降级处理结果发送至HTTP协议请求的传入设备。
需要说明的是,本实施方式是在根据访问地址将HTTP协议请求转发至目标微服务实例之前,先判断目标微服务实例的工作状态能否正常对HTTP协议请求进行响应,也就是本实施方式中在获取目标微服务实例的工作状态参数后,判断工作状态参数是否满足预先配置的请求转发标准,工作状态参数表征的是目标微服务实例工作过程中产生的与其工作状态相关的参数,例如资源占用率、通信速率、请求响应时间等。在判断工作状态参数是否满足预先配置的请求转发标准后,如果工作状态参数满足请求转发标准,则执行根据访问地址将HTTP协议请求转发至目标微服务实例的步骤;如果工作状态参数不满足请求转发标准,则说明当前目标微服务实例不适宜对HTTP协议请求进行响应,在此情况下,本实施方式进一步判断工作状态参数是否满足预先配置的熔断降级标准,也就是判断是否停止对目标微服务实例的调用并停止对HTTP协议请求进行处理,如果工作状态参数满足熔断降级标准,则对HTTP协议请求执行熔断降级处理,生成降级处理结果,并将降级处理结果作为结果反馈至HTTP协议请求的传入设备。本实施方式在当目标微服务实例出现不可用或响应超时的情况时,为了防止整个服务系统出现雪崩状况,暂时停止对该目标微服务实例的调用,进一步确保了微服务架构的整体稳定性。
在上述实施例的基础上,作为一种优选的实施方式,当目标微服务实例的数量大于1时,在根据访问地址将HTTP协议请求转发至目标微服务实例之前,方法还包括:
基于预先配置的负载均衡策略在目标微服务实例中选取提供响应操作的目标微服务实例;
根据访问地址将HTTP协议请求转发至目标微服务实例,包括:
根据访问地址将HTTP协议请求转发至提供响应操作的目标微服务实例。
需要说明的是,本实施方式考虑到提供某一业务服务的目标微服务实例的数量可能为多个,因此当目标微服务实例的数量大于1时,为了确保各个目标微服务实例之间的资源占用程度能够相对均衡,因此本实施方式基于预先配置的负载均衡策略在全部的目标微服务实例中选取当前提供响应操作的目标微服务实例,负载均衡策略可以具体为RoundRobin负载均衡策略或其他任何类型的负载均衡策略。本实施方式能够进一步确保在多个目标微服务实例的场景下,各个目标微服务实例之间的负载相对近似,以此进一步确保各个目标微服务运行的整体稳定性。
为了进一步加深对于本申请技术方案的理解,下面提供一种具体应用场景下的场景实施例进行说明。
图3为本申请实施例提供的一种具体应用场景下的通信时序图。如图3所示的内容,本场景实施例分为配置变更过程,即中间件与后端用户的交互过程,以及HTTP请求处理过程,即中间件与前端用户的交互过程。
P01配置变更过程解析:包含微服务变更、路由策略变更、微服务实例变更等
P01S01:配置变更,由微服务的运维开发发起,操作中间件控制台页面上的配置,或由其它上游系统发起配置变更,改变微服务,路由策略,可用性策略,微服务实例等。
P01S02:变更推送,将配置推送到每一个中间件的HTTP服务实例上,并保障配置最终一致性。
P01S03:当中间件实例订阅到配置变更后,将配置应用到请求处理过程中,进而配置变更生效。
P02HTTP请求处理过程。
P02S01:客户端(用户的浏览器、HTTP接口调用客户端等)通过中间件向微服务系统发起HTTP请求。
P02S02:中间件结合HTTP请求的各个参数(域名,URL路径,URL和头部参数等),应用当前的路由策略,挑选出应当服务于该请求的微服务。
P02S03:可用性处理,结合当前微服务实例和整体状态,判定是否对请求进行拦截,或对微服务进行熔断降级等。若拦截,客户端将收到一个非法请求的相应;若降级,客户端将收到一个降级后的结果,请求不会被发送给微服务实例;否则,继续后续处理。
P02S04:微服务服务发现,动态获取微服务的可用实例列表,以及实例的状态。
P02S05:负载均衡,使用某种负载均衡策略(Round Robin,或其他任何类型的负载均衡算法),最终挑选出一个实例为本次请求提供服务。
P02S06:将HTTP请求转发到上一步挑选出的实例上。
P02S07:微服务对请求的实际处理过程。
P02S08:微服务处理完请求后,将响应信息发送给中间件。
P02S09:结合响应信息,记录本次请求的处理数据,其中包含微服务信息、请求标识、处理结果、处理时间等。
P02S10:中间件将最终的HTTP响应信息发送回客户端。
在上文中对于微服务处理方法的实施例进行了详细的描述,本申请还提供一种与该方法对应的微服务处理装置,由于微服务处理装置部分的实施例与方法部分的实施例相互对应,微服务处理装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图4为本申请实施例提供的一种微服务处理装置的结构图。
本申请实施例提供的微服务处理装置,包括:
请求监听模块10,用于监听传入的操作请求。
变更获取模块11,用于如果操作请求为配置变更请求,则获取配置变更请求对应的微服务配置数据。
原配置获取模块12,用于获取与微服务配置数据对应的微服务的原始配置数据,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系。
配置覆盖模块13,用于通过微服务配置数据覆盖原始配置数据。
本申请所提供的微服务处理装置,首先监听传入的操作请求,如果操作请求为配置变更请求时,则获取该配置变更请求对应的微服务配置数据,进而获取与之对应的微服务原始配置数据,其中,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系,最终以变更后的微服务配置数据覆盖原始配置数据,以此实现针对于微服务的配置,由于微服务唯一对应原始配置数据,并且微服务配置数据与原始配置数据之间存在唯一的对应关系,因此本装置是以微服务为粒度对配置信息进行针对性的变更操作,对于不同微服务的配置操作均基于该微服务唯一对应的原始配置数据进行新配置数据的覆盖,相对确保了技术人员对微服务的可维护性,进而确保了微服务的业务可靠性。
此外,本申请还提供一种微服务处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述的微服务处理方法的步骤。
本申请所提供的微服务处理设备,首先监听传入的操作请求,如果操作请求为配置变更请求时,则获取该配置变更请求对应的微服务配置数据,进而获取与之对应的微服务原始配置数据,其中,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系,最终以变更后的微服务配置数据覆盖原始配置数据,以此实现针对于微服务的配置,由于微服务唯一对应原始配置数据,并且微服务配置数据与原始配置数据之间存在唯一的对应关系,因此本设备是以微服务为粒度对配置信息进行针对性的变更操作,对于不同微服务的配置操作均基于该微服务唯一对应的原始配置数据进行新配置数据的覆盖,相对确保了技术人员对微服务的可维护性,进而确保了微服务的业务可靠性。
此外,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的微服务处理方法的步骤。
本申请所提供的计算机可读存储介质,首先监听传入的操作请求,如果操作请求为配置变更请求时,则获取该配置变更请求对应的微服务配置数据,进而获取与之对应的微服务原始配置数据,其中,微服务唯一对应原始配置数据,且微服务配置数据与原始配置数据之间存在唯一对应关系,最终以变更后的微服务配置数据覆盖原始配置数据,以此实现针对于微服务的配置,由于微服务唯一对应原始配置数据,并且微服务配置数据与原始配置数据之间存在唯一的对应关系,因此本计算机可读存储介质是以微服务为粒度对配置信息进行针对性的变更操作,对于不同微服务的配置操作均基于该微服务唯一对应的原始配置数据进行新配置数据的覆盖,相对确保了技术人员对微服务的可维护性,进而确保了微服务的业务可靠性。
以上对本申请所提供的一种微服务处理方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (9)
1.一种微服务处理方法,其特征在于,包括:
监听传入的操作请求;
如果所述操作请求为配置变更请求,则获取所述配置变更请求对应的微服务配置数据;
获取与所述微服务配置数据对应的微服务的原始配置数据,所述微服务唯一对应所述原始配置数据,且所述微服务配置数据与所述原始配置数据之间存在唯一对应关系;
通过所述微服务配置数据覆盖所述原始配置数据。
2.根据权利要求1所述的微服务处理方法,其特征在于,在所述监听传入的操作请求之后,所述方法还包括:
如果所述操作请求为HTTP协议请求,则根据所述HTTP协议请求匹配目标微服务配置数据,所述目标微服务配置数据中记录有目标微服务实例的访问地址;
根据所述访问地址将所述HTTP协议请求转发至所述目标微服务实例,并获取所述目标微服务实例对所述HTTP协议请求的响应信息;
将所述响应信息发送至所述HTTP协议请求的传入设备。
3.根据权利要求2所述的微服务处理方法,其特征在于,所述HTTP协议请求中包括域名、路径、请求头以及请求参数;
所述根据所述HTTP协议请求匹配目标微服务配置数据,包括:
根据所述域名、路径、请求头以及请求参数在微服务配置数据的路由策略中查找对应的目标微服务。
4.根据权利要求2所述的微服务处理方法,其特征在于,在所述根据所述访问地址将所述HTTP协议请求转发至所述目标微服务实例之前,所述方法还包括:
获取所述目标微服务实例的工作状态参数;
判断所述工作状态参数是否满足预先配置的请求转发标准;
如果所述工作状态参数满足所述请求转发标准,则执行所述根据所述访问地址将所述HTTP协议请求转发至所述目标微服务实例的步骤;
如果所述工作状态参数未满足所述请求转发标准,则判断所述工作状态参数是否满足预先配置的熔断降级标准;
如果所述工作状态参数满足所述熔断降级标准,则对所述HTTP协议请求执行熔断降级处理,生成降级处理结果;
将所述降级处理结果发送至所述HTTP协议请求的传入设备。
5.根据权利要求2所述的微服务处理方法,其特征在于,当所述目标微服务实例的数量大于1时,在所述根据所述访问地址将所述HTTP协议请求转发至所述目标微服务实例之前,所述方法还包括:
基于预先配置的负载均衡策略在所述目标微服务实例中选取提供响应操作的目标微服务实例;
所述根据所述访问地址将所述HTTP协议请求转发至所述目标微服务实例,包括:
根据所述访问地址将所述HTTP协议请求转发至所述提供响应操作的目标微服务实例。
6.根据权利要求1至5任意一项所述的微服务处理方法,其特征在于,所述获取与所述微服务配置数据对应的微服务的原始配置数据,包括:
在内存中获取与所述微服务配置数据对应的微服务的原始配置数据;
所述通过所述微服务配置数据覆盖所述原始配置数据,包括:
通过所述微服务配置数据覆盖所述内存中的所述原始配置数据。
7.一种微服务处理装置,其特征在于,包括:
请求监听模块,用于监听传入的操作请求;
变更获取模块,用于如果所述操作请求为配置变更请求,则获取所述配置变更请求对应的微服务配置数据;
原配置获取模块,用于获取与所述微服务配置数据对应的微服务的原始配置数据,所述微服务唯一对应所述原始配置数据,且所述微服务配置数据与所述原始配置数据之间存在唯一对应关系;
配置覆盖模块,用于通过所述微服务配置数据覆盖所述原始配置数据。
8.一种微服务处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的微服务处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的微服务处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910920010.XA CN110677475A (zh) | 2019-09-26 | 2019-09-26 | 一种微服务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910920010.XA CN110677475A (zh) | 2019-09-26 | 2019-09-26 | 一种微服务处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110677475A true CN110677475A (zh) | 2020-01-10 |
Family
ID=69079465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910920010.XA Pending CN110677475A (zh) | 2019-09-26 | 2019-09-26 | 一种微服务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110677475A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541561A (zh) * | 2020-04-09 | 2020-08-14 | 珠海格力电器股份有限公司 | 微服务配置信息管理系统、方法、服务器及存储介质 |
CN112882738A (zh) * | 2021-03-22 | 2021-06-01 | 亿企赢网络科技有限公司 | 一种微服务架构下的配置信息更新方法、装置及电子设备 |
CN113765695A (zh) * | 2021-03-26 | 2021-12-07 | 北京京东拓先科技有限公司 | 一种网关管理方法、装置、设备及计算机可读存储介质 |
CN115390939A (zh) * | 2022-08-17 | 2022-11-25 | 中电金信软件有限公司 | 业务处理方法和系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506605A (zh) * | 2016-10-14 | 2017-03-15 | 华南理工大学 | 一种基于微服务架构的SaaS应用构建方法 |
WO2017067230A1 (zh) * | 2015-10-21 | 2017-04-27 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
US20170230349A1 (en) * | 2016-02-04 | 2017-08-10 | International Business Machines Corporation | Microservices inter-operational trust management |
CN108134696A (zh) * | 2017-12-15 | 2018-06-08 | 云宏信息科技股份有限公司 | 一种微服务配置更新方法及装置 |
CN108156022A (zh) * | 2017-12-04 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种服务调用方法、装置及电子设备 |
CN108427581A (zh) * | 2018-02-07 | 2018-08-21 | 平安普惠企业管理有限公司 | 系统微服务化方法及终端设备 |
CN108712309A (zh) * | 2018-06-11 | 2018-10-26 | 郑州云海信息技术有限公司 | 一种微服务架构下的微服务节点防护方法和系统 |
US20190220274A1 (en) * | 2017-04-28 | 2019-07-18 | Servicenow, Inc. | Systems and methods for tracking configuration file changes |
CN110149364A (zh) * | 2019-04-15 | 2019-08-20 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
-
2019
- 2019-09-26 CN CN201910920010.XA patent/CN110677475A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017067230A1 (zh) * | 2015-10-21 | 2017-04-27 | 中兴通讯股份有限公司 | 一种基于微服务架构扩展软件功能的方法及装置 |
US20170230349A1 (en) * | 2016-02-04 | 2017-08-10 | International Business Machines Corporation | Microservices inter-operational trust management |
CN106506605A (zh) * | 2016-10-14 | 2017-03-15 | 华南理工大学 | 一种基于微服务架构的SaaS应用构建方法 |
US20190220274A1 (en) * | 2017-04-28 | 2019-07-18 | Servicenow, Inc. | Systems and methods for tracking configuration file changes |
CN108156022A (zh) * | 2017-12-04 | 2018-06-12 | 北京奇艺世纪科技有限公司 | 一种服务调用方法、装置及电子设备 |
CN108134696A (zh) * | 2017-12-15 | 2018-06-08 | 云宏信息科技股份有限公司 | 一种微服务配置更新方法及装置 |
CN108427581A (zh) * | 2018-02-07 | 2018-08-21 | 平安普惠企业管理有限公司 | 系统微服务化方法及终端设备 |
CN108712309A (zh) * | 2018-06-11 | 2018-10-26 | 郑州云海信息技术有限公司 | 一种微服务架构下的微服务节点防护方法和系统 |
CN110149364A (zh) * | 2019-04-15 | 2019-08-20 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541561A (zh) * | 2020-04-09 | 2020-08-14 | 珠海格力电器股份有限公司 | 微服务配置信息管理系统、方法、服务器及存储介质 |
CN112882738A (zh) * | 2021-03-22 | 2021-06-01 | 亿企赢网络科技有限公司 | 一种微服务架构下的配置信息更新方法、装置及电子设备 |
CN113765695A (zh) * | 2021-03-26 | 2021-12-07 | 北京京东拓先科技有限公司 | 一种网关管理方法、装置、设备及计算机可读存储介质 |
CN115390939A (zh) * | 2022-08-17 | 2022-11-25 | 中电金信软件有限公司 | 业务处理方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437629B2 (en) | Pre-triggers for code execution environments | |
US10528390B2 (en) | Idempotent task execution in on-demand network code execution systems | |
US10564946B1 (en) | Dependency handling in an on-demand network code execution system | |
US10942795B1 (en) | Serverless call distribution to utilize reserved capacity without inhibiting scaling | |
US10360067B1 (en) | Dynamic function calls in an on-demand network code execution system | |
US10725826B1 (en) | Serializing duration-limited task executions in an on demand code execution system | |
US10445140B1 (en) | Serializing duration-limited task executions in an on demand code execution system | |
US11119826B2 (en) | Serverless call distribution to implement spillover while avoiding cold starts | |
US10162688B2 (en) | Processing event messages for user requests to execute program code | |
US9830175B1 (en) | Predictive management of on-demand code execution | |
US9811363B1 (en) | Predictive management of on-demand code execution | |
CN110677475A (zh) | 一种微服务处理方法、装置、设备及存储介质 | |
JP2021529386A (ja) | オンデマンドネットワークコード実行システム上での補助機能の実行 | |
US9244817B2 (en) | Remote debugging in a cloud computing environment | |
US10318347B1 (en) | Virtualized tasks in an on-demand network code execution system | |
EP2787742B1 (en) | Method and system for transmitting network video | |
CN106878368B (zh) | 信息推送的实现方法和装置 | |
US20070165615A1 (en) | Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services | |
CN113783922A (zh) | 负载均衡的方法、系统和装置 | |
US8924562B2 (en) | Dynamic policy generation and assignment | |
US20110161961A1 (en) | Method and apparatus for optimized information transmission using dedicated threads | |
CN106034138A (zh) | 一种远程服务调用方法及装置 | |
US11637914B2 (en) | Multiple geography service routing | |
CN108093036B (zh) | 一种获取资源的方法及装置 | |
US11144359B1 (en) | Managing sandbox reuse in an on-demand code execution system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200110 |