CN114301783B - 用于微服务的优化方法以及装置、存储介质、电子装置 - Google Patents
用于微服务的优化方法以及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN114301783B CN114301783B CN202111672094.3A CN202111672094A CN114301783B CN 114301783 B CN114301783 B CN 114301783B CN 202111672094 A CN202111672094 A CN 202111672094A CN 114301783 B CN114301783 B CN 114301783B
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- main line
- processing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 87
- 238000012550 audit Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 230000008030 elimination Effects 0.000 claims description 8
- 238000003379 elimination reaction Methods 0.000 claims description 8
- 238000011161 development Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims 4
- 230000007246 mechanism Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000009530 blood pressure measurement Methods 0.000 description 2
- 230000001680 brushing effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种用于微服务的优化方法以及装置、存储介质、电子装置。该方法包括确定主线业务,其中所述主线业务与业务领域之间解耦合;接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署;基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。本申请解决了基于微服务架构无法实现高可用的技术问题。通过本申请实现了支持应用微服务拓展以及解耦合业务处理。
Description
技术领域
本申请涉及微服务领域,具体而言,涉及一种用于微服务的优化方法以及装置、存储介质、电子装置。
背景技术
微服务,将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通。
通过使用微服务的架构,相关业务中比如开立服务、支付服务、记账服务等,通常来说主线业务和业务领域没有解耦,如果存在大量并发请求则会造成效率低下。另外,架构多为单点部署,也无法支持横向扩展。
针对相关技术中基于微服务架构无法实现高可用的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种用于微服务的优化方法以及装置、存储介质、电子装置,以解决基于微服务架构无法实现高可用的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种用于微服务的优化方法。
根据本申请的用于微服务的优化方法包括:确定主线业务,其中所述主线业务与业务领域之间解耦合;接收业务请求,其中所述主线业务基于至少包括两个节点的微服务部署通过预设路由网关转发至对应微服务;基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。
进一步地,所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:开启子线程处理审核所述主线业务的后续逻辑;当前所述微服务的自身逻辑处理后再发送消息队列消息至下游的非主线业务的微服务进行事务消息发送,其中所述记账服务消息队列接收到消息后进行消费处理。
进一步地,所述接收业务请求,通过预设路由网关转发至对应微服务时,其中所述主线业务基于至少包括两个节点的微服务部署还包括:基于Springcloud框架处理所述主线业务,并通过Ribbon进行负载均衡;采用RocketMQ进行业务解耦或者消峰处理。
进一步地,所述确定主线业务,其中所述主线业务与业务领域之间解耦合包括:基于异步解耦合业务,并对所述主线业务进行异步处理。
进一步地,所述基于至少一个所述微服务将所述业务请求进行预设处理并记录,包括:基于至少一个所述微服务将所述业务请求进行预设处理并基于缓存进行查询。
进一步地,所述所述主线业务与业务领域之间解耦合包括:所述主线业务的开立服务、支付服务、记账服务的其中一种或多种业务与所述业务领域之间解耦合。
进一步地,所述的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署,包括:所述主线业务基于至少包括两个节点的微服务部署。所述接收业务请求,通过预设路由网关转发至对应微服务;所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:通过RocketMQ集群发送消息队列的消息给所述记账服务。
为了实现上述目的,根据本申请的另一方面,提供了一种用于微服务的优化***。
根据本申请的用于微服务的优化***包括:解耦合模块,用于确定主线业务,其中所述主线业务与业务领域之间解耦合;路由模块,用于接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署;业务处理模块,用于基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。
在本申请实施例中用于微服务的优化方法以及装置、存储介质、电子装置,采用确定主线业务的方式,通过接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署达到了基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中的目的,从而实现了基于微服务架构可以根据业务量进行弹性扩展,提升用户体验的技术效果,进而解决了基于微服务架构无法实现高可用的技术问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的用于微服务的优化方法的硬件架构示意图;
图2是根据本申请实施例的用于微服务的优化方法的流程示意图;
图3是根据本申请实施例的用于微服务的优化装置的结构示意图;
图4是根据本申请实施例的用于微服务的优化方法的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,是根据本申请实施例的用于微服务的优化方法的硬件架构示意图,其中包括:用户端100、Nngix反向代理服务200、API网关300、开立中心400、MQ集群500、记账集群600、REDIS集群700。在所述开立中心400通过2个点的部署,比原有单点部署在处理效率和并发量上更高,通过对开立审核的压测,可承载至少200并发,比单点部署并发下效果明显。
具体流程包括:用户发起开立审核请求,通过Nginx公网代理负载到API网关层,网关结合API路由规则和地址转发到对应服务,服务收到开立审核请求后,将对应请求进行幂等处理和记录,并将自身的业务状态置为处理中。此时开启子线程处理审核后续逻辑,自身逻辑处理后再通过RocketMQ集群发送MQ消息给下游的记账服务,此步骤作为事务消息发送,保证本地事务的处理和消息的投递是一个事务。记账服务MQ接收到消息进行消费处理。
如图2所示,该方法包括如下的步骤S201至步骤S203:
步骤S201,确定主线业务,其中所述主线业务与业务领域之间解耦合;
步骤S202,接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署;
步骤S203,基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。
从以上的描述中,可以看出,本申请实现了如下技术效果:
采用确定主线业务的方式,通过的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务,达到了基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中的目的,从而实现了支持应用微服务拓展以及解耦合业务处理的技术效果,进而解决了基于微服务架构无法实现高可用的技术问题。
上述步骤S201中确定主线业务。通常而言,对于相关领域以及业务,可以确定出主线业务以及非主线业务。比如,开立服务为主线服务、付款服务也同为主线服务,而记账服务则可以属于非主线服务。
作为一种优选地实施方式,所述主线业务与业务领域之间解耦合。由于在业务领域与主线业务之间进行了解耦合,让各服务更专注处理自身领域逻辑。也就是说,按照具体业务领域进行拆分,开立专注处理确权,支付专注处理流转逻辑,原有架构因是单体架构,没有实现分层,逻辑处理较为复杂。
作为一种优选地实施方式,解耦合之后的支持异步业务处理。
上述步骤S202中在开立中心架构中的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务。基于至少两个节点微服务的部署接收到用户的业务请求之后,通过理由网关转发至对应(下游)微服务。
上述步骤S203中基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。
作为一种优选地实施方式,预设处理包括但不限于,幂计算等校验过车用。
作为一种优选地实施方式,将微服务自身状态置为处理中会同步至消息队列。
作为本实施例中的优选,所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:开启子线程处理审核所述主线业务的后续逻辑;当前所述微服务的自身逻辑处理后再发送消息队列消息至下游的非主线业务的微服务进行事务消息发送,其中所述记账服务消息队列接收到消息后进行消费处理。
具体实施时,业务请求为开立服务,根据微服务自身状态置为处理中,同时开启子线程处理审核所述主线业务的后续逻辑。之后,当前所述微服务的自身逻辑处理后再发送消息队列消息至下游的非主线业务的微服务进行事务消息发送。优选地,可以将记账服务消息队列接收到消息后进行消费处理。
作为本实施例中的优选,所述接收业务请求,通过预设路由网关转发至对应微服务,,其中所述主线业务基于至少包括两个节点的微服务部署包括:所述中的开立服务的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务;所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:通过RocketMQ集群发送消息队列的消息给所述记账服务。
对于开立服务和记账服务,也即开立服务作为主线服务,而记账服务作为非主线服务。
作为本实施例中的优选,所述接收业务请求,通过预设路由网关转发至对应微服务时,其中所述主线业务基于至少包括两个节点的微服务部署还包括:基于Springcloud框架处理所述主线业务,并通过Ribbon进行负载均衡;采用RocketMQ进行业务解耦或者消峰处理。
具体实施时,在开立中心整体架构采用Springcloud框架,通过ribbon实现软负载均衡,开立服务为了在入口层面实现大流量,内部采用RocketMQ进行解耦和消峰处理,避免在业务高峰带来瞬间压力。
具体而言,通过使用RocketMQ,考虑因支持的以下特性:(1)能够保证严格的消息顺序;(2)提供丰富的消息拉取模式;(3)高效的订阅者水平扩展能力;(4)实时的消息订阅机制;(5)亿级消息堆积能力。
此外,利用RocketMQ上述特性可解决以下问题:
对于顺序消费和事务消息问题:消息队列(RocketMQ)为采用先进先出(FIFO)机制可以严格的保证消息有序,可确保云信记账消费时有序。业务***发送消息采用事务消息,保证事务的投递一定是成功的。
对于多业务类型问题:为减少程序复杂度及开发工作量,将多业务类型(入池、记账等)共用记账程序,利用消息队列Topic、客户端group进行隔离架构中将池topic定义为crcl-core-pond-topic,group定义为crcl-core-pond-group;记账topic定义为crcl-core-tally-topic,group定义为crcl-core-tally-group。客户端消费只需要按照约定topic和group启动消费者即可消费不同类型的消息。
对于可靠性问题:程序中断,服务器宕机等突发状况经常使已入MQ中的数据丢失,造成不可逆的灾难。消息队列(RocketMQ)所有发往broker的消息,采用同步刷盘机制,消息写入物理文件才会返回成功,因此非常可靠。
对于加入预警通知和失败重试问题:加入开立、支付队列因记账未返回处理结果的问题。
本申请实施例中采用预设的发送表信息表,一旦发生超过30分钟未返回的情况或处理失败的情况,则更新此表并则通知人工干预,对可以重试的还可以进行重试。
作为本实施例中的优选,所述确定主线业务,其中所述主线业务与业务领域之间解耦合包括:基于异步解耦合业务,并对所述主线业务进行异步处理。
具体实施时,采用异步处理在大流量下可接收更多请求量,消峰了因业务更高对应用、数据库的瞬间压力。
作为本实施例中的优选,所述基于至少一个所述微服务将所述业务请求进行预设处理并记录,包括:基于至少一个所述微服务将所述业务请求进行预设处理并基于缓存进行查询。
具体实施时,支持对大量查询基于缓存进行查询,包括但不限于Redis或者数仓数据。
作为本实施例中的优选,所述所述主线业务与业务领域之间解耦合包括:所述主线业务的开立服务、支付服务、记账服务的其中一种或多种业务与所述业务领域之间解耦合。
具体实施时,通过按照具体业务领域进行拆分,开立专注处理确权,支付专注处理流转逻辑,相关技术中的架构因是单体架构,没有实现分层,逻辑处理较为复杂。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述方法的高可用***,如图3所示,该***包括:
解耦合模块301,用于确定主线业务,其中所述主线业务与业务领域之间解耦合;
路由模块302,用于接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署;
业务处理模块303,用于基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。
本申请实施例的所述解耦合模块301中确定主线业务。通常而言,对于相关领域以及业务,可以确定出主线业务以及非主线业务。比如,开立服务为主线服务、付款服务也同为主线服务,而记账服务则可以属于非主线服务。
作为一种优选地实施方式,所述主线业务与业务领域之间解耦合。由于在业务领域与主线业务之间进行了解耦合,让各服务更专注处理自身领域逻辑。也就是说,按照具体业务领域进行拆分,开立专注处理确权,支付专注处理流转逻辑,原有架构因是单体架构,没有实现分层,逻辑处理较为复杂。
作为一种优选地实施方式,解耦合之后的支持异步业务处理。
本申请实施例的所述路由模块302中在开立中心架构中的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务。基于至少两个节点微服务的部署接收到用户的业务请求之后,通过理由网关转发至对应(下游)微服务。
本申请实施例的所述业务处理模块303中基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。
作为一种优选地实施方式,预设处理包括但不限于,幂计算等校验过车用。
作为一种优选地实施方式,将微服务自身状态置为处理中会同步至消息队列。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
为了更好的理解上述用于微服务的优化方法流程,以下结合优选实施例对上述技术方案进行解释说明,但不用于限定本发明实施例的技术方案。
本申请实施例中的用于微服务的优化方法,确定主线业务,接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署;基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中。能够支持应用微服务的水平扩展,同时异步解耦业务处理,让各服务更专注处理自身领域逻辑。采用异步处理在大流量下可接收更多请求量,消峰了因业务更高对应用、数据库的瞬间压力。
如图4所示,是本申请实施例中用于微服务的优化方法的流程示意图,实现的具体过程包括如下步骤:
步骤S401,采用RocketMQ进行解耦和消峰处理,避免在业务高峰带来瞬间压力。
由于开立中心通过2个节点的部署,比原有单点部署在处理效率和并发量上更高,通过对开立审核的压测,可承载至少200并发,比单点部署并发下效果明显;架构因支持弹性扩展,可因具体业务量进行横向扩展,原有架构不支持。本架构按照具体业务领域进行拆分,开立专注处理确权,支付专注处理流转逻辑,原有架构因是单体架构,没有实现分层,逻辑处理较为复杂。通过使用RocketMQ解耦原有业务,比原有架构在高并发下,用户交互体验得到极大的提升。
对于顺序消费和事务消息问题:消息队列(RocketMQ)为采用先进先出(FIFO)机制可以严格的保证消息有序,可确保云信记账消费时有序。业务***发送消息采用事务消息,保证事务的投递一定是成功的。
对于多业务类型问题:为减少程序复杂度及开发工作量,将多业务类型(入池、记账等)共用记账程序,利用消息队列Topic、客户端group进行隔离架构中将池topic定义为crcl-core-pond-topic,group定义为crcl-core-pond-group;记账topic定义为crcl-core-tally-topic,group定义为crcl-core-tally-group。客户端消费只需要按照约定topic和group启动消费者即可消费不同类型的消息。
对于可靠性问题:程序中断,服务器宕机等突发状况经常使已入MQ中的数据丢失,造成不可逆的灾难。消息队列(RocketMQ)所有发往broker的消息,采用同步刷盘机制,消息写入物理文件才会返回成功,因此非常可靠。
对于加入预警通知和失败重试问题:加入开立、支付队列因记账未返回处理结果的问题。
步骤S402,采用RocketMQ进行解耦和消峰处理,避免在业务高峰带来瞬间压力。
用户发起开立审核请求,通过Nginx公网代理负载到API网关层,网关结合API路由规则和地址转发到对应服务,服务收到开立审核请求后,将对应请求进行幂等处理和记录,并将自身的业务状态置为处理中。
步骤S403,RocketMQ集群发送MQ消息给下游的记账服务。
此时开启子线程处理审核后续逻辑,自身逻辑处理后再通过RocketMQ集群发送MQ消息给下游的记账服务,此步骤作为事务消息发送,保证本地事务的处理和消息的投递是一个事务。记账服务MQ接收到消息进行消费处理。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (4)
1.一种用于微服务的优化方法,其特征在于,包括:
确定主线业务,其中所述主线业务与业务领域之间解耦合;
所述确定主线业务,其中所述主线业务与业务领域之间解耦合包括:
基于异步解耦合业务,并对所述主线业务进行异步处理;
所述主线业务与业务领域之间解耦合包括:所述主线业务的开立服务、支付服务、记账服务的其中一种或多种业务与所述业务领域之间解耦合;
接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署;
接收业务请求,通过预设路由网关转发至对应微服务时,其中所述主线业务基于至少包括两个节点的微服务部署还包括:
基于Springcloud框架处理所述主线业务,并通过Ribbon进行负载均衡;
采用RocketMQ进行业务解耦或者消峰处理;
所述的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署包括:
所述开立服务的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务;
基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中;
所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:
通过RocketMQ集群发送消息队列的消息给所述记账服务;
所述基于至少一个所述微服务将所述业务请求进行预设处理并记录,包括:
基于至少一个所述微服务将所述业务请求进行预设处理并基于缓存进行查询;
所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:
开启子线程处理审核所述主线业务的后续逻辑;
当前所述微服务的自身逻辑处理后再发送消息队列消息至下游的非主线业务的微服务进行事务消息发送,其中所述记账服务消息队列接收到消息后进行消费处理。
2.一种高可用***,其特征在于,包括:
解耦合模块,用于确定主线业务,其中所述主线业务与业务领域之间解耦合;
所述确定主线业务,其中所述主线业务与业务领域之间解耦合包括:
基于异步解耦合业务,并对所述主线业务进行异步处理;
所述主线业务与业务领域之间解耦合包括:所述主线业务的开立服务、支付服务、记账服务的其中一种或多种业务与所述业务领域之间解耦合;
接收业务请求,通过预设路由网关转发至对应微服务时,其中所述主线业务基于至少包括两个节点的微服务部署还包括:
基于Springcloud框架处理所述主线业务,并通过Ribbon进行负载均衡;
采用RocketMQ进行业务解耦或者消峰处理;
所述的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署包括:
所述开立服务的至少两个节点微服务部署接收业务请求,通过预设路由网关转发至对应微服务;
路由模块,用于接收业务请求,通过预设路由网关转发至对应微服务,其中所述主线业务基于至少包括两个节点的微服务部署;
业务处理模块,用于基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中;
所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:
通过RocketMQ集群发送消息队列的消息给所述记账服务;
所述基于至少一个所述微服务将所述业务请求进行预设处理并记录,包括:
基于至少一个所述微服务将所述业务请求进行预设处理并基于缓存进行查询;
所述基于至少一个所述微服务将所述业务请求进行预设处理并记录之后,将微服务自身状态置为处理中之后,还包括:
开启子线程处理审核所述主线业务的后续逻辑;
当前所述微服务的自身逻辑处理后再发送消息队列消息至下游的非主线业务的微服务进行事务消息发送,其中所述记账服务消息队列接收到消息后进行消费处理。
3.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1所述的方法。
4.一种电子装置,包括存储器和处理器,其特征在于,
所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111672094.3A CN114301783B (zh) | 2021-12-31 | 2021-12-31 | 用于微服务的优化方法以及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111672094.3A CN114301783B (zh) | 2021-12-31 | 2021-12-31 | 用于微服务的优化方法以及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301783A CN114301783A (zh) | 2022-04-08 |
CN114301783B true CN114301783B (zh) | 2024-05-28 |
Family
ID=80976338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111672094.3A Active CN114301783B (zh) | 2021-12-31 | 2021-12-31 | 用于微服务的优化方法以及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301783B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115018325B (zh) * | 2022-06-10 | 2024-05-24 | 中国银行股份有限公司 | 业务处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078426A (zh) * | 2019-12-03 | 2020-04-28 | 紫光云(南京)数字技术有限公司 | 一种后端微服务架构下的高并发解决方法 |
WO2020098075A1 (zh) * | 2018-11-12 | 2020-05-22 | 平安科技(深圳)有限公司 | 金融数据处理方法、装置、设备和存储介质 |
CN112000448A (zh) * | 2020-07-17 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于微服务架构的应用管理方法 |
CN112968960A (zh) * | 2021-02-22 | 2021-06-15 | 同济大学 | 一种基于开源组件的微服务架构 |
WO2021179841A1 (zh) * | 2020-03-12 | 2021-09-16 | 华为技术有限公司 | 一种微服务调用方法、装置、设备及介质 |
CN113742043A (zh) * | 2021-08-31 | 2021-12-03 | 中企云链(北京)金融信息服务有限公司 | 一种服务器后端任务异步拆分方法 |
-
2021
- 2021-12-31 CN CN202111672094.3A patent/CN114301783B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020098075A1 (zh) * | 2018-11-12 | 2020-05-22 | 平安科技(深圳)有限公司 | 金融数据处理方法、装置、设备和存储介质 |
CN111078426A (zh) * | 2019-12-03 | 2020-04-28 | 紫光云(南京)数字技术有限公司 | 一种后端微服务架构下的高并发解决方法 |
WO2021179841A1 (zh) * | 2020-03-12 | 2021-09-16 | 华为技术有限公司 | 一种微服务调用方法、装置、设备及介质 |
CN112000448A (zh) * | 2020-07-17 | 2020-11-27 | 北京计算机技术及应用研究所 | 基于微服务架构的应用管理方法 |
CN112968960A (zh) * | 2021-02-22 | 2021-06-15 | 同济大学 | 一种基于开源组件的微服务架构 |
CN113742043A (zh) * | 2021-08-31 | 2021-12-03 | 中企云链(北京)金融信息服务有限公司 | 一种服务器后端任务异步拆分方法 |
Non-Patent Citations (3)
Title |
---|
Investigation of Architecture and Technology Stack for e-Archive System;Hennadii Falatiuk; Mariya Shirokopetleva; Zoia Dudar;2019 IEEE International Scientific-Practical Conference Problems of Infocommunications, Science and Technology (PIC S&T);20200409;全文 * |
基于Spring Cloud实现业务***微服务化的设计与实现;王方旭;;电子技术与软件工程;20180425(第08期);全文 * |
基于微服务架构的企业服务总线在银行***集成中的应用;王世泽;;中国新技术新产品;20200710(第13期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114301783A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109873736A (zh) | 一种微服务监控方法及*** | |
CN111930529B (zh) | 基于消息队列及微服务的数据同步方法、装置及*** | |
CN110191164A (zh) | 分布式服务接入***及方法 | |
WO2021088641A1 (zh) | 数据发送方法、处理方法、接收方法及其设备、存储介质 | |
CN113259496B (zh) | 一种基于金融服务的银企直连***及方法 | |
CN105141452A (zh) | 一种基于cxf的高性能服务***及方法 | |
EP2031818A1 (en) | Systems and/or methods for providing feature-rich proprietary and standards-based triggers via a trigger subsystem | |
CN103024014A (zh) | 通过消息队列的海量数据分发处理的方法和*** | |
CN108712457A (zh) | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 | |
CN112968943A (zh) | 一种电力协同平台 | |
CN111641700B (zh) | 基于Ceph对象存储元数据的管理及检索的实现方法 | |
CN106713378B (zh) | 实现多个应用服务器提供服务的方法和*** | |
US20130227568A1 (en) | Systems and methods involving virtual machine host isolation over a network | |
CN112394947A (zh) | 一种基于微服务架构的信息*** | |
CN103607476A (zh) | 海量消息的分布式多阶段持久化的***及方法 | |
CN114301783B (zh) | 用于微服务的优化方法以及装置、存储介质、电子装置 | |
CN113468221A (zh) | 一种基于kafka消息数据总线的***集成方法 | |
CN113630310B (zh) | 一种分布式高可用网关*** | |
CN109451078A (zh) | 一种分布式架构下的事务处理方法和装置 | |
CN111813503A (zh) | 一种基于容器云的微服务化应用开放*** | |
KR101956320B1 (ko) | 트랜잭셔널 미들웨어 머신 환경에서 단일 포인트 병목을 방지하는 시스템 및 방법 | |
CN114615096A (zh) | 基于事件驱动架构的电信计费方法、***及相关设备 | |
US20140143592A1 (en) | Client based high availability method for message delivery | |
CN112527523A (zh) | 面向高性能计算多云的分布式消息传递方法及*** | |
US20230283695A1 (en) | Communication Protocol for Knative Eventing's Kafka components |
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 |