消息处理系统、方法、计算设备及存储介质与流程
未命名
09-29
阅读:78
评论:0
1.本发明涉及网络通信技术领域,尤其涉及一种消息处理系统、消息处理方法、计算设备及存储介质。
背景技术:
2.消息队列(mq)是先进先出的一种数据结构。随着互联网高速发展,微服务模式、大数据、机器学习等新技术层出不穷,伴随着需要解决问题也在随之增加,消息队列也在逐步演进发展,例如activitymq、rabbitmq、rocketqq、kafka等新mq不断出现,这些mq侧重点不同,主要场景有应用解耦、流量消峰、消息分发等。消息中间件已经成为互联网公司标配。
3.现有技术中,通常由集成消息队列sdk的生产者应用服务器根据业务场景将消息发送至消息队列;mq可以通过不同技术实现,并由使用者根据具体业务需求和场景来决定使用哪种技术实现的mq,mq主要用于接收、存储和分发消息;集成消息队列sdk的消费者应用服务器用于接收mq中的消息,并对消息进行业务处理。基于以上设计,生产者、消费者应用服务器分别需要对接消息队列sdk,导致消息队列的使用较为复杂,需要技术人员深入了解消息队列技术和具体实现。
4.因此,需要一种消息处理系统及方法,以解决上述技术方案中存在的问题。
技术实现要素:
5.为此,本发明提供一种消息处理系统及消息处理方法,以解决或至少缓解上面存在的问题。
6.根据本发明的一个方面,提供一种消息处理系统,包括:消息队列;消息中心,适于创建任务并下发所述任务;生产者应用服务器,与所述消息中心、消息队列通信连接,适于根据所述任务生成对应的消息,并将所述消息发送至所述消息队列;任务管理模块,适于接收所述任务,根据所述任务从消息队列拉取消息,并将所述消息发送至对应的消费者应用服务器,以便所述消费者应用服务器对所述消息进行处理。
7.可选地,在根据本发明的消息处理系统中,所述消息中心进一步适于:响应于用户创建任务的请求,创建任务并下发所述任务,其中,所述任务包含任务名称、消息吞吐量、消息回调地址;所述任务管理模块进一步适于:根据所述任务中的消息回调地址,将所述消息发送至对应的消费者应用服务器。
8.可选地,在根据本发明的消息处理系统中,所述任务管理模块还适于:根据所述任务中的消息吞吐量,确定启动消费者应用服务器的数量,并启动相应数量的消费者应用服务器。
9.可选地,在根据本发明的消息处理系统中,所述生产者应用服务器进一步适于:根据所述任务的任务名称生成消息主题;所述任务管理模块进一步适于:根据所述任务的任务名称从消息队列拉取对应消息主题的消息。
10.可选地,在根据本发明的消息处理系统中,所述任务管理模块包括:多个工作节
点;任务管理器,适于接收所述消息中心下发的任务,并将所述任务分配至对应的工作节点;所述工作节点适于处理所述任务,根据所述任务从消息队列拉取消息,并将所述消息发送至对应的消费者应用服务器。
11.可选地,在根据本发明的消息处理系统中,还包括:配置中心,分别与所述消息中心、任务管理器通信连接,适于监听所述消息中心下发的任务,以便在监听到所述消息中心下发的任务时,通知所述任务管理器接收所述任务,并将所述任务分配给工作节点。
12.可选地,在根据本发明的消息处理系统中,所述配置中心还适于存储配置信息,所述配置信息包括任务信息、任务分配信息、工作节点信息;所述任务管理器进一步适于:从所述配置中心获取配置信息,根据所述配置信息中的任务分配信息,将所述任务分配至相应的工作节点。
13.可选地,在根据本发明的消息处理系统中,所述生产者应用服务器集成有消息中心工具包,以便通过所述消息中心工具包与所述消息中心通信。
14.根据本发明的一个方面,提供一种消息处理方法,在如上所述的消息处理系统中执行,包括:消息中心创建任务并下发所述任务;生产者应用服务器根据所述任务生成对应的消息,并将所述消息发送至所述消息队列;任务管理模块接收所述任务,根据所述任务从消息队列拉取消息,并将所述消息发送至对应的消费者应用服务器,以便所述消费者应用服务器对所述消息进行处理。
15.根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的消息处理方法的指令。
16.根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的消息处理方法。
17.根据本发明的技术方案,提供了一种消息处理系统及方法,其中,通过消息中心创建并下发任务,生产者应用服务器(集成消息中心sdk)可以根据消息中心下发的任务生成对应的消息,并将消息发送至消息队列。任务管理模块接收任务,根据任务从消息队列拉取消息,并根据消息回调地址将消息发送至对应的消费者应用服务器,以便消费者应用服务器对消息进行处理。根据本发明的消息处理系统,消费者应用服务器无需集成任何第三方sdk、无需对接消息队列便可以接收到消息,生产者应用服务器只需集成简化的消息中心sdk。这样,根据本发明的技术方案,应用服务器开发者无需了解消息中心和消息队列的技术实现,只需要对接简化的消息中心sdk即可,通过简单配置便能达到使用消息队列的目的,从而降低了开发成本,提高了开发效率。
18.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
19.为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述
以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
20.图1示出了根据本发明一个实施例的消息处理系统100的示意图;
21.图2示出了根据本发明一个实施例的计算设备200的示意图;
22.图3示出了根据本发明一个实施例的消息处理方法300的流程图。
具体实施方式
23.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
24.图1示出了根据本发明一个实施例的消息处理系统100的示意图。
25.如图1所示,消息处理系统100包括消息中心110、消息队列150、任务管理模块130、一个或多个生产者应用服务器140、以及一个或多个消费者应用服务器160。其中,消息中心110与消息队列150通信连接,各生产者应用服务器140可以与消息中心110、消息队列150通信连接,任务管理模块130可以与各消费者应用服务器160建立通信连接。
26.在一个实施例中,消息中心110可以集成消息队列150。
27.根据本发明的实施例,消息中心110可以创建任务,并下发该任务。例如,在一个实施例中,用户可以向消息中心110申请创建任务,消息中心110响应于用户创建任务的请求,来创建任务,并下发该任务。这里,在一个实施例中,任务(任务信息)具体可以包含任务名称、消息吞吐量、消息回调地址。
28.生产者应用服务器140可以根据消息中心110创建的任务生成对应的消息,并将该消息发送至消息队列150。在一个实施例中,生产者应用服务器140在根据任务生成消息时,具体可以根据任务的任务名称来生成消息主题(topic),例如,可以将任务的任务名称作为消息主题。随后,可以将与任务名称相对应的消息主题的消息添加到消息队列150中。
29.任务管理模块130可以接收到消息中心110下发的任务,根据该任务(通过处理任务)来从消息队列150拉取对应的消息,并将拉取到的消息发送至对应的消费者应用服务器160,随后,消费者应用服务器160可以对该消息进行处理。这里,本发明对消费者应用服务器160对消息的具体处理方式不做限制,可以根据消费者应用服务器160的具体应用场景和具体业务来对消息进行处理。
30.在一个实施例中,任务管理模块130可以根据任务的任务名称,从消息队列150拉取与任务名称相对应的消息主题的消息。
31.在一个实施例中,任务管理模块130可以根据任务中的消息回调地址,来将从消息队列150中拉取到的消息发送至对应的消费者应用服务器160。这里,在一个实施例中,各消费者应用服务器160可以预先将消息回调地址(即,消费者应用服务器160的接口地址)提供给任务管理模块130,任务管理模块130通过调用消息回调地址,可以将消息发送至对应的消费者应用服务器160。
32.在一个实施例中,任务管理模块130预先可以根据任务中的消息吞吐量,来计算并确定启动消费者应用服务器160的数量,之后,可以启动相应数量的消费者应用服务器160。
33.需要指出的是,通过消息中心110不仅可以实现任务的创建,还可以实现对任务进行删除、修改、查询等功能。具体地,消息中心110可以响应于用户对任务的删除、修改、查询操作,对相应的任务进行删除、修改、查询。
34.根据本发明的一个实施例,任务管理模块130可以实现为master-worker架构。具体地,任务管理模块130包括任务管理器(manager)以及worker集群。worker集群包括多个工作节点(即,worker)。
35.其中,任务管理器(master)可以接收消息中心110下发的任务,并将任务分配至对应的工作节点(worker)。各工作节点(worker)用于处理任务。
36.在具体实施例中,任务管理器可以利用平均分配算法、权重分配算法等算法来向工作节点(worker)分配任务。分配到任务的工作节点(worker)可以处理任务。并且,在工作节点处理任务过程中,任务管理器可以监控任务进展状态以及工作节点的健康状态。
37.工作节点(worker)在接收到任务管理器分配的任务后,可以处理任务,根据任务来从消息队列150中拉取消息,并将消息发送至对应的消费者应用服务器160。
38.具体地,首先,工作节点(worker)可以根据任务中的消息吞吐量,来确定启动消费者应用服务器160的数量,并启动相应数量的消费者应用服务器160。
39.并且,工作节点(worker)可以根据任务的任务名称,从消息队列150拉取与任务名称相对应的消息主题的消息。随后,工作节点可以根据该任务中的消息回调地址(调用消息回调地址),来将消息发送至对应的消费者应用服务器160。
40.这里,在一个实施例中,各消费者应用服务器160可以预先将消息回调地址提供给工作节点,工作节点通过调用消息回调地址,可以将消息发送至对应的消费者应用服务器160。这里,消费者应用服务器160在接收到消息后,可以进行接收消息成功确认,以避免接收到同一条消息。
41.根据本发明的一个实施例,消息处理系统100还包括配置中心120,配置中心120分别可以与消息中心110、任务管理器(master)通信连接。配置中心120可以监听消息中心110下发的任务(监听任务状态),在监听到消息中心110下发的任务时,配置中心120可以通知任务管理器(master)接收消息中心110下发的任务,并将该任务分配给相应的工作节点。
42.在一个实施例中,配置中心120还可以存储配置信息,这里,配置信息例如可以包括消息中心110创建的任务的任务信息、任务分配信息、工作节点信息等。
43.在该实施例中,任务管理器(master)通过从配置中心120获取配置信息,可以根据配置信息中的任务分配信息来进行任务分配,以将任务分配至相应的工作节点。
44.在本发明的一个实施例中,生产者应用服务器140集成有消息中心工具包(消息中心sdk),通过集成消息中心工具包可以与消息中心110、消息队列150通信,例如,通过消息中心sdk可以调用消息中心110接口,以便访问消息中心110。
45.需要说明的是,根据本发明提供的消息处理系统100,设置了消息中心110,且消息中心110可以集成消息队列150。消息中心110提供的消息中心工具包(消息中心sdk)可以是对消息队列150的封装,是更加简化的sdk,对开发者友好。通过生产者应用服务器140集成消息中心sdk,开发者无需关心消息队列150的技术实现,只需要对接简化的消息中心sdk即可,消息中心110可以包装并屏蔽消息队列150。
46.另外,根据本发明提供的消息处理系统100,消费者应用服务器160无需集成任何
第三方sdk,仅需提供消息回调地址即可。
47.根据本发明的消息处理系统100,通过消息中心110创建并下发任务,生产者应用服务器140(集成消息中心sdk)可以根据消息中心110下发的任务生成对应的消息,并将消息发送至消息队列150。任务管理模块130接收任务,根据任务从消息队列150拉取消息,并根据消息回调地址将消息发送至对应的消费者应用服务器160,以便消费者应用服务器160对消息进行处理。根据本发明的消息处理系统,消费者应用服务器160无需集成任何第三方sdk、无需对接消息队列150便可以接收到消息,生产者应用服务器140只需集成简化的消息中心sdk。这样,根据本发明的技术方案,应用服务器开发者无需了解消息中心110和消息队列150的技术实现,只需要对接简化的消息中心sdk即可,通过简单配置便能达到使用消息队列150的目的,从而降低了开发成本,提高了开发效率。
48.在本发明的实施例中,消息处理系统100(消息中心110、消息队列150、生产者应用服务器140、任务管理模块130)被配置为执行本发明的消息处理方法300。本发明的消息处理方法300将在下文中详述。
49.在一个实施例中,本发明中的消息处理系统100可以实现为一种计算设备,使得本发明的消息处理方法300可以在计算设备中执行。
50.图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
51.取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μp)、微控制器(μc)、数字信息处理器(dsp)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(alu)、浮点数单元(fpu)、数字信号处理核心(dsp核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
52.取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
53.计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个a/v端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个i/o端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
54.网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波
或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(rf)、微波、红外(ir)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
55.在根据本发明的计算设备200中,计算设备200的应用222中包括执行消息处理方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的消息处理方法300,以便计算设备200通过执行本发明的消息处理方法300。
56.图3示出了根据本发明一个实施例的消息处理方法300的流程图。方法300适于在消息处理系统100(例如前述计算设备200)中执行。
57.如前文所述,消息处理系统100包括消息中心110、消息队列150、任务管理模块130、一个或多个生产者应用服务器140、以及一个或多个消费者应用服务器160。其中,消息中心110与消息队列150通信连接,各生产者应用服务器140可以与消息中心110、消息队列150通信连接,任务管理模块130可以与各消费者应用服务器160建立通信连接。在一个实施例中,消息中心110可以集成消息队列150。
58.如图3所示,方法300包括步骤310~330。
59.首先,在步骤310中,消息中心110创建任务并下发任务。
60.在一个实施例中,用户可以向消息中心110申请创建任务,在步骤310中,消息中心110可以响应于用户创建任务的请求,来创建任务,并下发该任务。
61.这里,在一个实施例中,任务(任务信息)具体可以包含任务名称、消息吞吐量、消息回调地址。
62.随后,在步骤320中,生产者应用服务器140根据消息中心110下发的任务,生成对应的消息,并将该消息发送至消息队列150。
63.在一个实施例中,生产者应用服务器140在根据任务生成消息时,具体可以根据任务的任务名称来生成消息主题(topic),例如,可以将任务的任务名称作为消息主题。随后,可以将与任务名称相对应的消息主题的消息添加到消息队列150中。
64.在步骤330中,任务管理模块130可以接收消息中心110下发的任务,根据任务从消息队列150拉取对应的消息,并将消息发送至对应的消费者应用服务器160,随后,消费者应用服务器160可以对消息进行处理。
65.在一个实施例中,任务管理模块130可以根据任务的任务名称,从消息队列150拉取与任务名称相对应的消息主题的消息。
66.在一个实施例中,任务管理模块130可以根据任务中的消息回调地址,来将从消息队列150中拉取到的消息发送至对应的消费者应用服务器160。这里,在一个实施例中,各消费者应用服务器160可以预先将消息回调地址提供给任务管理模块130,任务管理模块130通过调用消息回调地址,可以将消息发送至对应的消费者应用服务器160。
67.在一个实施例中,在任务管理模块130将消息发送至对应的消费者应用服务器160之前,可以预先根据任务中的消息吞吐量,来计算并确定启动消费者应用服务器160的数量,之后,可以启动相应数量的消费者应用服务器160。
68.需要指出的是,通过消息中心110不仅可以实现任务的创建,还可以实现对任务进行删除、修改、查询等功能。具体地,消息中心110可以响应于用户对任务的删除、修改、查询操作,对相应的任务进行删除、修改、查询。
69.此外,需要说明的是,对于消息处理系统100中各部分的具体实现以及消息处理方法300中各步骤的具体执行逻辑,可参见前文对消息处理系统100的描述,此处不再赘述。
70.根据本发明的消息处理方法,由消息中心创建并下发任务,生产者应用服务器(集成消息中心sdk)可以根据消息中心下发的任务生成对应的消息,并将消息发送至消息队列。任务管理模块接收任务,根据任务从消息队列拉取消息,并根据消息回调地址将消息发送至对应的消费者应用服务器,以便消费者应用服务器对消息进行处理。这样,在本发明的消息处理系统中,消费者应用服务器无需集成任何第三方sdk、无需对接消息队列便可以接收到消息,生产者应用服务器只需集成简化的消息中心sdk。这样,根据本发明的技术方案,应用服务器开发者无需了解消息中心和消息队列的技术实现,只需要对接简化的消息中心sdk即可,通过简单配置便能达到使用消息队列的目的,从而降低了开发成本,提高了开发效率。
71.a8、如a1-a7中任一项所述的系统,其中,所述生产者应用服务器集成有消息中心工具包,以便通过所述消息中心工具包与所述消息中心通信。
72.这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、u盘、软盘、cd-rom或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
73.在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的存储设备列表管控方法。
74.以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
75.在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
76.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
77.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施
例、图、或者对其的描述中。
78.本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
79.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。
80.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
81.此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
82.如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
83.尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。
技术特征:
1.一种消息处理系统,包括:消息队列;消息中心,适于创建任务并下发所述任务;生产者应用服务器,与所述消息中心、消息队列通信连接,适于根据所述任务生成对应的消息,并将所述消息发送至所述消息队列;任务管理模块,适于接收所述任务,根据所述任务从消息队列拉取消息,并将所述消息发送至对应的消费者应用服务器,以便所述消费者应用服务器对所述消息进行处理。2.如权利要求1所述的系统,其中,所述消息中心进一步适于:响应于用户创建任务的请求,创建任务并下发所述任务,其中,所述任务包含任务名称、消息吞吐量、消息回调地址;所述任务管理模块进一步适于:根据所述任务中的消息回调地址,将所述消息发送至对应的消费者应用服务器。3.如权利要求2所述的系统,其中,所述任务管理模块还适于:根据所述任务中的消息吞吐量,确定启动消费者应用服务器的数量,并启动相应数量的消费者应用服务器。4.如权利要求2所述的系统,其中,所述生产者应用服务器进一步适于:根据所述任务的任务名称生成消息主题;所述任务管理模块进一步适于:根据所述任务的任务名称从消息队列拉取对应消息主题的消息。5.如权利要求1-4中任一项所述的系统,其中,所述任务管理模块包括:多个工作节点;任务管理器,适于接收所述消息中心下发的任务,并将所述任务分配至对应的工作节点;所述工作节点适于处理所述任务,根据所述任务从消息队列拉取消息,并将所述消息发送至对应的消费者应用服务器。6.如权利要求5所述的系统,其中,还包括:配置中心,分别与所述消息中心、任务管理器通信连接,适于监听所述消息中心下发的任务,以便在监听到所述消息中心下发的任务时,通知所述任务管理器接收所述任务,并将所述任务分配给工作节点。7.如权利要求6所述的系统,其中,所述配置中心还适于存储配置信息,所述配置信息包括任务信息、任务分配信息、工作节点信息;所述任务管理器进一步适于:从所述配置中心获取配置信息,根据所述配置信息中的任务分配信息,将所述任务分配至相应的工作节点。8.一种消息处理方法,在如权利要求1-7中任一项所述的消息处理系统中执行,包括:消息中心创建任务并下发所述任务;生产者应用服务器根据所述任务生成对应的消息,并将所述消息发送至所述消息队列;任务管理模块接收所述任务,根据所述任务从消息队列拉取消息,并将所述消息发送
至对应的消费者应用服务器,以便所述消费者应用服务器对所述消息进行处理。9.一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器处理,所述程序指令包括用于处理如权利要求8所述方法的指令。10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并处理时,使得所述计算设备处理如权利要求8所述的方法。
技术总结
本发明公开了一种消息处理系统、方法、计算设备及存储介质,系统包括:消息队列;消息中心,适于创建任务并下发所述任务;生产者应用服务器,与所述消息中心、消息队列通信连接,适于根据所述任务生成对应的消息,并将所述消息发送至所述消息队列;任务管理模块,适于接收所述任务,根据所述任务从消息队列拉取消息,并将所述消息发送至对应的消费者应用服务器,以便所述消费者应用服务器对所述消息进行处理。根据本发明的技术方案,通过简单配置便能达到使用消息队列的目的,从而降低了开发成本,提高了开发效率。提高了开发效率。提高了开发效率。
技术研发人员:赵发现
受保护的技术使用者:天津车之家软件有限公司
技术研发日:2023.05.29
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/