本发明涉及数据管理,尤其涉及一种动态延迟消息队列的管理方法及装置。
背景技术:
1、消息队列作为不同系统间消息传递、解耦合的中间件获得了广泛的使用。且基于各业务线的不同需求,消息处理的灵活度、效率等越来越重要。
2、cn202010527124.0消息传输及消息队列管理方法、装置及系统——本申请公开了消息传输及消息队列管理方法、装置及系统,基于消息队列的消息传输方法,所述方法包括:消费上游消息队列中间件的上游消息队列中的消息,所述上游消息队列中间件的上游消息队列中的消息为所述上游消息队列中间件接收的消息发布端发送的消息;将所消费的消息发布至下游消息队列中间件,供所述下游消息队列中间件将所述消息加入该下游消息队列中间件的下游消息队列中,以供消息消费端自所述下游消息队列中间件的下游消息队列中消费所述消息。本申请提供的方法和装置扩展消息队列系统的负载能力,提高消息队列的传输性能的同时,便于对消息队列进行管理。
3、这个发明主要考虑的是利用多个消息中间件,及增加自研的消息传输装置,让上游的消息,进入到上游消息中间件,然后再流转下游消息中间件,最后到消息消费端真正消费消息。以此来扩展消息队列的负载能力,提高消息队列的传输性能,方便消息队列的管理。场景应用上有所不同,装置中间环节引入工作量大,方式较为复杂,对于简单业务场景,反而引入过多中间层增加了系统复杂度,降低了效率,提高了风险。
4、现有技术是利用多个消息中间件,并增加自研的消息传输装置在多个消息中间件之间进行适配传输,整体工作量较大,方式较为复杂,对于简单业务场景,反而引入过多中间层增加了系统复杂度,降低了效率,提高了风险或自研的消息容器并管理,或是参考消息队列中间件的功能机制进行模拟实现;或,侧重于消息队列的扩容、缩容,方法方式较多样,且希望达到的目标效果各不相同,无直接可比性;但是消息队列管理及消息的传输方式,因业务需求场景而异,而如若有比较普遍通用的方式,那么该方式一定是需要足够简单,便捷,依赖少。
技术实现思路
1、本发明的目的在于克服现有技术的不足,本发明提供了一种动态延迟消息队列的管理方法及装置,通过整合现有消息中间件(如rabbitmq等)具备的死信队列能力,提供了一种更通用且灵活地控制队列的创建,监听消费的能力,进而还能覆盖消息队列的扩容、缩容等功能,推动充分利用资源,解决消息积压,提高消息消费效率。
2、为了解决上述技术问题,本发明实施例提供了一种动态延迟消息队列的管理方法,包括消息生产端、消息中间件、消息消费端、监控台和配置中心;所述方法包括:
3、所述消息生产端在所述配置中心进行队列配置信息拉取处理,获得第一队列配置信息;
4、所述消息生产端基于所述队列配置信息进行消息队列及死信队列的创建处理,并将产生的消息基于所述消息中间件推送至消费端;
5、所述消息消费端创建死信队列监听,并基于所述死信队列监听对所述消息中间件推送的消息进行消费处理;
6、所述监控平台在所述配置中心拉取队列监控配置策略,基于所述队列监控配置策略在所述消息中间件中获得队列配置变更信息;
7、所述监控平台基于所述队列配置变更信息请求所述配置中心更新队列配置信息。
8、可选的,所述消息生产端分别与所述消息中间件和所述配置中心相连接;所述监控台分别与所述消息中间件和所述配置中心相连接;所述消息消费端分别与所述消息中间件和所述配置中心相连接。
9、可选的,所述消息生产端在所述配置中心进行队列配置信息拉取处理,获得第一队列配置信息,包括:
10、所述消息生产端向所述配置中心请求建立长连接或长轮询处理,并在建立长连接或长轮询之后,所述消息生产端在所述配置中心进行队列配置信息的拉取处理,获得第一队列配置信息。
11、可选的,所述消息生产端在所述配置中心进行队列配置信息拉去处理,获得第一队列配置信息之后,还包括:
12、所述消息生产端对所述配置中心内的配置变更信息进行监听处理。
13、可选的,所述消息生产端基于所述队列配置信息进行消息队列及死信队列的创建处理,包括:
14、所述消息生产端基于所述队列配置信息在所述消息中间件内请求进行消息队列和死信队列的创建处理。
15、可选的,所述消息消费端创建死信队列监听,包括:
16、所述消息消费端请求与所述配置中心建立长连接或长轮询;
17、在建立长连接或长轮询之后,所述消息消费端在所述配置中心进行队列配置消息拉取处理,获得第二队列配置信息;
18、所述消息消费端基于所述第二队列配置信息进行死信队列监听创建处理。
19、可选的,所述基于所述死信队列监听对所述消息中间件推送的消息进行消费处理,包括:
20、基于所述死信队列监听获得所述配置中心的变更信息;
21、基于所述变更信息接收所述消息中间件推送的消息,并所述消息中间件推送的消息进行消费处理。
22、可选的,所述监控平台在所述配置中心拉取队列监控配置策略,包括:
23、所述监控平台向所述配置中心请求建立长连接或长轮询处理;
24、在建立长连接或长轮询之后,所述监控平台在所述配置中心中进行队列监控配置策略的拉取处理,获得队列监控配置策略。
25、可选的,所述基于所述队列监控配置策略在所述消息中间件中获得队列配置变更信息,包括:
26、所述监控平台基于所述队列监控配置策略中在所述消息中间件中获得对应的各项指标信息;
27、基于对应的各项指标信息获得队列配置变更信息。
28、另外,本发明实施例还提供了一种动态延迟消息队列的管理装置,包括消息生产端、消息中间件、消息消费端、监控台和配置中心;所述装置包括:
29、第一拉取模块:用于所述消息生产端在所述配置中心进行队列配置信息拉取处理,获得第一队列配置信息;
30、第一创建模块:用于所述消息生产端基于所述队列配置信息进行消息队列及死信队列的创建处理,并将产生的消息基于所述消息中间件推送至消费端;
31、第二创建模块:用于所述消息消费端创建死信队列监听,并基于所述死信队列监听对所述消息中间件推送的消息进行消费处理;
32、第二拉取模块:用于所述监控平台在所述配置中心拉取队列监控配置策略,基于所述队列监控配置策略在所述消息中间件中获得队列配置变更信息;
33、更新模块:用于所述监控平台基于所述队列配置变更信息请求所述配置中心更新队列配置信息。
34、在本发明实施例中,通过整合现有消息中间件(如rabbitmq等)具备的死信队列能力,提供了一种更通用且灵活地控制队列的创建,监听消费的能力,进而还能覆盖消息队列的扩容、缩容等功能,推动充分利用资源,解决消息积压,提高消息消费效率。
1.一种动态延迟消息队列的管理方法,其特征在于,包括消息生产端、消息中间件、消息消费端、监控台和配置中心;所述方法包括:
2.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述消息生产端分别与所述消息中间件和所述配置中心相连接;所述监控台分别与所述消息中间件和所述配置中心相连接;所述消息消费端分别与所述消息中间件和所述配置中心相连接。
3.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述消息生产端在所述配置中心进行队列配置信息拉取处理,获得第一队列配置信息,包括:
4.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述消息生产端在所述配置中心进行队列配置信息拉去处理,获得第一队列配置信息之后,还包括:
5.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述消息生产端基于所述队列配置信息进行消息队列及死信队列的创建处理,包括:
6.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述消息消费端创建死信队列监听,包括:
7.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述基于所述死信队列监听对所述消息中间件推送的消息进行消费处理,包括:
8.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述监控平台在所述配置中心拉取队列监控配置策略,包括:
9.根据权利要求1所述的动态延迟消息队列的管理方法,其特征在于,所述基于所述队列监控配置策略在所述消息中间件中获得队列配置变更信息,包括:
10.一种动态延迟消息队列的管理装置,其特征在于,包括消息生产端、消息中间件、消息消费端、监控台和配置中心;所述装置包括: