一种分布式事件异步处理系统技术方案

技术编号:38871966 阅读:12 留言:0更新日期:2023-09-22 14:07
本发明专利技术公开了一种分布式事件异步处理系统,包括:启停控制模块,用于控制系统的自动启停,以及用于所有模块的依赖注入;生产者模块,用于负责系统的事件生产;消费者模块,用于负责系统的事件消费;调度中心模块,用于负责整个消费集群的注册发现,以及各个消费节点的消费事件分配;监控模块,用于负责整个系统的监控和异常告警。该分布式事件异步处理系统,具有性能高、可扩展、健壮性强、易于集成和使用、服务可用性高等优势。服务可用性高等优势。服务可用性高等优势。

【技术实现步骤摘要】
一种分布式事件异步处理系统


[0001]本专利技术涉及移动互联网、数据处理
,更具体的说是涉及一种分布式事件异步处理系统。

技术介绍

[0002]目前,随着企业系统的复杂性日益增加,对数据集成和系统整合的需求也相应提高。尽管CORBA、DCOM、RMI等RPC中间件技术应运而生,但由于采用RPC同步处理技术,这意味着发送者在向接收者发送消息后,必须等待接收者的响应。如果接收者处理速度较慢或者接收者发生故障,发送者可能会长时间地被阻塞,从而导致系统性能下降、健壮性降低和可扩展性限制。
[0003]系统集成的困难:尽管RPC技术可以实现不同系统之间的通信,但它们通常需要大量的配置和编程工作,这使得系统集成变得复杂和耗时。
[0004]并发处理的问题:在RPC同步处理模型中,通常很难有效地处理并发请求,因为发送者在等待接收者响应期间不能进行其他操作。
[0005]消息传递的限制:在同步处理模型中,消息只能直接从发送者传递给接收者。这种一对一的通信方式限制了消息的传播范围,而且无法实现发送者向多个接收者同时发送消息。
[0006]因此,如何提高系统的性能、健壮性和可扩展性,简化系统集成,处理并发请求,以及提高消息传递的效率和灵活性;是本领域技术人员亟需解决的问题。

技术实现思路

[0007]有鉴于此,本专利技术提供了一种分布式事件异步处理系统,可解决企业系统性能、健壮性、可扩展性限制问题;以及可解决系统集成困难、难以并发处理和消息传递限制的问题。
[0008]为了实现上述目的,本专利技术采用如下技术方案:
[0009]一种分布式事件异步处理系统,包括:
[0010]启停控制模块,用于控制系统的自动启停,以及用于所有模块的依赖注入;
[0011]生产者模块,用于负责系统的事件生产;
[0012]消费者模块,用于负责系统的事件消费;
[0013]调度中心模块,用于负责整个消费集群的注册发现,以及各个消费节点的消费事件分配;
[0014]监控模块,用于负责整个系统的监控和异常告警。
[0015]在一个实施例中,所述启停控制模块,其配置为通过spring提供的SmartLifecycle机制扫描系统内所有的事件生产者和消费者信息,并将生产者和对应的消费者一一绑定后,向消费者模块注册,以及启动调度中心模块、监控模块和消费者模块。
[0016]在一个实施例中,所述消费者模块,具体用于为初始化所有事件队列信息,并创建
一条主线程以轮询检查所有事件队列状态,以及创建一个线程池负责消费已就绪事件队列。
[0017]在一个实施例中,所述消费者模块,配置为支持同步消费和异步消费;其中,异步消费支持按事件id分片,同分片下顺序消费,不同分片并发消费;同分片下,同id严格的顺序消费。
[0018]在一个实施例中,所述消费者模块,还配置为支持单点消费和集群的多节点消费。
[0019]在一个实施例中,所述调度中心模块,具体配置为向Redis发送心跳,注册当前消费节点信息,同时获取到分布式环境下其他消费节点信息,并通过一致性Hash算法,获取当前消费节点负责消费的事件队列。
[0020]在一个实施例中,所述调度中心模块,还配置为将负责的事件队列状态修改为就绪状态,通知消费者模块开始消费,未分配的事件队列状态修改为待停止状态,通知消费者模块停止对其的消费行为。
[0021]在一个实施例中,所述监控模块,具体配置为周期性地检查所有事件队列中待消费的事件数量,高于阈值时,则发出告警。
[0022]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种分布式事件异步处理系统,包括:启停控制模块,用于控制系统的自动启停,以及用于所有模块的依赖注入;生产者模块,用于负责系统的事件生产;消费者模块,用于负责系统的事件消费;调度中心模块,用于负责整个消费集群的注册发现,以及各个消费节点的消费事件分配;监控模块,用于负责整个系统的监控和异常告警。该分布式事件异步处理系统,具有性能高、可扩展、健壮性强、易于集成和使用、服务可用性高等优势。
附图说明
[0023]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0024]图1为本专利技术提供的分布式事件异步处理系统的结构框图;
[0025]图2为本专利技术提供的分布式事件异步处理系统的原理架构图;
[0026]图3为本专利技术提供的调度中心模块的原理图;
[0027]图4为本专利技术提供的事件队列的状态转化图;
[0028]图5为本专利技术提供的节点一致性Hash的原理图。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]本专利技术实施例公开了一种分布式事件异步处理系统,基于消息的异步处理模型采用非阻塞的调用特性,发送者将消息发送给消息服务器,消息服务器在合适的时候再将消
息转发给接收者;发送和接收是异步的,发送者无需等待,二者的生命周期也可以不必相同,而且发送者可以将消息间接传给多个接收者,大大提高了程序的性能、可扩展性及健壮性,使得异步处理模型在分布式应用上比同步处理模型更具有吸引力。
[0031]参照图1所示,本专利技术实施例公开了一种分布式事件异步处理系统,包括:
[0032]启停控制模块,用于控制系统的自动启停,以及用于所有模块的依赖注入;
[0033]生产者模块,用于负责系统的事件生产;
[0034]消费者模块,用于负责系统的事件消费;
[0035]调度中心模块,用于负责整个消费集群的注册发现,以及各个消费节点的消费事件分配;
[0036]监控模块,用于负责整个系统的监控和异常告警。
[0037]该分布式事件异步处理系统,具有性能高、可扩展、健壮性强、易于集成和使用、服务可用性高等优势。
[0038]参照图2所示,为该分布式事件异步处理系统的原理图:通过spring SmartLifecycle机制,随容器的启停,manager开启和停止消费;单线程轮询所有队列状态,发现有就绪状态队列,交由线程池开始消费当前队列;具体包括步骤a~步骤d;
[0039]a、当系统启动后,通过spring提供的SmartLifecycle机制,启停控制模块开始工作:
[0040]扫描系统内所有的事件生产者和消费者信息,将生产者和对应的消费者一一绑定后,向消费者模块注册;
[0041]启动调度中心、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式事件异步处理系统,其特征在于,包括:启停控制模块,用于控制系统的自动启停,以及用于所有模块的依赖注入;生产者模块,用于负责系统的事件生产;消费者模块,用于负责系统的事件消费;调度中心模块,用于负责整个消费集群的注册发现,以及各个消费节点的消费事件分配;监控模块,用于负责整个系统的监控和异常告警。2.根据权利要求1所述的一种分布式事件异步处理系统,其特征在于,所述启停控制模块,其配置为通过spring提供的SmartLifecycle机制扫描系统内所有的事件生产者和消费者信息,并将生产者和对应的消费者一一绑定后,向消费者模块注册,以及启动调度中心模块、监控模块和消费者模块。3.根据权利要求1所述的一种分布式事件异步处理系统,其特征在于,所述消费者模块,具体用于为初始化所有事件队列信息,并创建一条主线程以轮询检查所有事件队列状态,以及创建一个线程池负责消费已就绪事件队列。4.根据权利要求2所述的一种分布式事件异步处理系统,其特征在于,所述消费者模块,配置...

【专利技术属性】
技术研发人员:孙建杭建郑亚腾高铭骏
申请(专利权)人:北京涌乐科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1