消息处理方法及服务系统技术方案

技术编号:24409298 阅读:34 留言:0更新日期:2020-06-06 08:28
本申请提出一种消息处理方法及服务系统,涉及信息技术领域,通过在服务系统中运行事件任务、事件服务、消息队列集群以及事件消费服务,使得事件任务可以向事件服务发送事件消息;然后事件服务可以将接收的事件消息存储至消息队列集群中对应的消息队列;而事件消费服务则可以从消息队列集群中的消息队列获取事件消息进行消费,相比于现有技术,利用事件服务和消息队列集群将事件任务与事件消费服务进行解耦合,从而可以灵活的配置服务系统中事件服务和事件消费服务的数量,进而灵活的调整服务系统处理事件消息的能力。

Message processing method and service system

【技术实现步骤摘要】
消息处理方法及服务系统
本申请涉及信息
,具体而言,涉及一种消息处理方法及服务系统。
技术介绍
在例如网络直播等应用场景中,存在大量的消息事件需要进行处理,比如弹幕消息、消费消息、虚拟礼物消息、互动消息等等。为使这些消息事件能够及时被处理,可以基于微服务构建集群系统,由微服务对消息进行消费处理。在例如网络直播等场景中,单位时间内产生的消息的数量存在波动,比如当关注度较高的主播开播时,在短时间内可能会产生大量的消息需要被消费;而当关注度较少的主播开播时,在短时间内需要被消费的消息可能会较少;这使得需要动态配置微服务的数量,以应对存在大量需要消费的消息等场景。然而,目前利用微服务进行消息消费等场景中,需要将消息按照微服务所需的数据结构进行耦合封装,操作不够灵活。
技术实现思路
本申请的目的在于提供一种消息处理方法及服务系统,能够灵活的调整服务系统处理事件消息的能力。为了实现上述目的,本申请实施例采用的技术方案如下:第一方面,本申请实施例提供一种消息处理方法,应用于服务系统,所述服务系统运行有事件任务、事件服务、消息队列集群以及事件消费服务;所述方法包括:所述事件任务向所述事件服务发送事件消息;所述事件服务将接收的事件消息存储至所述消息队列集群中对应的消息队列;所述事件消费服务从所述消息队列集群中的消息队列获取事件消息进行消费。第二方面,本申请实施例提供一种服务系统,所述服务系统运行有事件任务、事件服务、消息队列集群以及事件消费服务;所述事件任务用于,向所述事件服务发送事件消息;所述事件服务用于,将接收的事件消息存储至所述消息队列集群中对应的消息队列;所述事件消费服务用于,从所述消息队列集群中的消息队列获取事件消息进行消费。本申请实施例提供的一种消息处理方法及服务系统,通过在服务系统中运行事件任务、事件服务、消息队列集群以及事件消费服务,使得事件任务可以向事件服务发送事件消息;然后事件服务可以将接收的事件消息存储至消息队列集群中对应的消息队列;而事件消费服务则可以从消息队列集群中的消息队列获取事件消息进行消费,相比于现有技术,利用事件服务和消息队列集群将事件任务与事件消费服务进行解耦合,从而可以灵活的配置服务系统中事件服务和事件消费服务的数量,进而灵活的调整服务系统处理事件消息的能力。为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。图1示出本申请实施例提供的服务系统的一种示意图;图2示出本申请实施例提供的消息处理方法的一种示意性流程图;图3示出本申请实施例提供的消息处理方法在扩容时的一种示意性流程图;图4示出本申请实施例提供的消息处理方法在扩容时的另一种示意性流程图;图5示出本申请实施例提供的消息处理方法在缩容时的一种示意性流程图;图6示出图5中步骤117的子步骤的一种示意性流程图;图7示出本申请实施例提供的消息处理方法在缩容时的另一种示意性流程图;图8示出图7中步骤122的子步骤的一种示意性流程图;图9示出本申请实施例提供的消息处理方法的另一种示意性流程图;图10示出本申请实施例提供的消息处理方法的再一种示意性流程图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。在上述例如网络直播等场景中,在利用微服务对消息进行消费处理时,一般是由中心化的中间服务对各种消息进行集中处理。比如,可以由中间服务与多个事件任务建立服务连接,由事件任务生产消息,例如开播事件产生的开播消息、送礼事件产生的礼物消息、充值事件产生的充值消息等等;并事件任务将生成的消息按照中间服务所需的数据结构对消息进行耦合封装,然后将消息发送给中间服务,使得中间服务可以统一对所有的事件任务发送的消息进行消费,从而完成各个事件任务处理。在例如网络直播等场景中,存在单位时间内产生的消息的数量存在波动,比如当关注度较高的主播开播时,在短时间内可能会产生大量的消息需要被消费;这使得当中间服务的数量不足以处理大量的消息时,需要配置更多的中间服务的数量,以应对存在大量需要消费的消息等情况;而当短时间内产生的消息大幅减少时,可以停用部分的中间服务,由剩余的中间服务负责继续处理事件任务生产的消息。然而,在例如上述的消息处理方案中,由于中间服务属于有状态服务,需要长期保持中间服务与事件任务之间的连接,而且事件任务需要将消息进行耦合封装后才能发送给中间服务进行消息,导致在例如对中间服务的数量等进行扩展时,需要人为的参与配置,并暂时断开中间服务与事件任务之间的连接,操作不够灵活。为此,基于上述缺陷,本申请实施例提供的一种可能的实现方式为:在服务系统中运行事件任务、事件服务、消息队列集群以及事件消费服务,使得事件任务可以向事件服务发送事件消息;然后事件服务可以将接收的事件消息存储至消息队列集群中对应的消息队列;而事件消费服务则可以从消息队列集群中的消息队列获取事件消息进行消费,利用事件服务和消息队列集群将事件任务与事件消费服务进行解耦合,从而可以灵活的配置服务系统中事件服务和事件消费服本文档来自技高网...

【技术保护点】
1.一种消息处理方法,其特征在于,应用于服务系统,所述服务系统运行有事件任务、事件服务、消息队列集群以及事件消费服务;所述方法包括:/n所述事件任务向所述事件服务发送事件消息;/n所述事件服务将接收的事件消息存储至所述消息队列集群中对应的消息队列;/n所述事件消费服务从所述消息队列集群中的消息队列获取事件消息进行消费。/n

【技术特征摘要】
1.一种消息处理方法,其特征在于,应用于服务系统,所述服务系统运行有事件任务、事件服务、消息队列集群以及事件消费服务;所述方法包括:
所述事件任务向所述事件服务发送事件消息;
所述事件服务将接收的事件消息存储至所述消息队列集群中对应的消息队列;
所述事件消费服务从所述消息队列集群中的消息队列获取事件消息进行消费。


2.如权利要求1所述的方法,其特征在于,所述服务系统还运行有管理服务;所述方法还包括:
所述管理服务监听所述服务系统中运行所述事件服务的第一节点的负载状态;
当所述第一节点的负载状态达到第一阈值时,所述管理服务在所述服务系统中除所述第一节点以外的节点启用新的事件服务;
所述新的事件服务接收事件消息,并将接收的事件消息存储至所述消息队列集群中对应的消息队列。


3.如权利要求1所述的方法,其特征在于,所述服务系统还运行有管理服务;所述方法还包括:
所述管理服务监听所述服务系统中运行所述事件消费服务的第二节点的负载状态;
当所述第二节点的负载状态达到第二阈值时,所述管理服务在所述服务系统中除所述第二节点之外的节点启用新的事件消费服务;
所述新的事件消费服务从所述消息队列集群中的消息队列获取事件消息进行消费。


4.如权利要求1所述的方法,其特征在于,所述服务系统运行有多个事件服务;所述服务系统还运行有管理服务;所述方法还包括:
所述管理服务获得单位处理速度;其中,所述单位处理速度为所述多个事件服务中平均每一事件服务处理消息请求的速度;
当所述单位处理速度小于第三阈值时,所述管理服务停用所述多个事件服务中的部分事件服务。


5.如权利要求4所述的方法,其特征在于,所述管理服务停用所述多个事件服务中的部分事件服务的步骤,包括:
所述管理服务根据当前消息处理速度,获得第一需求数值;其中,所述当前消息处理速度为所有事件服务的单位处理速度之和,所述第一需求数值表征满足所述当前消息处理速度的事件服务的数量;
当所述第一需求数值大于第四阈值时,所述管理服务保留数量与所述第一需求数值相对应的事件服务;
当所述第一需求数值小于或等于所述第四阈值时,所述管理服务保留数量与所述第四阈值相对应的事件服务。

【专利技术属性】
技术研发人员:彭武坚
申请(专利权)人:广州虎牙科技有限公司
类型:发明
国别省市:广东;44

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

1