本申请涉及互联网,尤其涉及一种消息发送方法、装置、服务器、存储介质及程序产品。
背景技术:
1、随着互联网技术的快速发展,大量的业务系统需要对用户发送验证码、通知消息、营销信息等消息信息,而借助运行在虚拟环境下的消息系统对消息的发送进行整合后,通过网络向终端快速发送不同场景下的消息,使业务系统的消息推送更加方便快捷。
2、在相关技术中,当数量庞大的业务系统同时向运行在虚拟环境中的消息系统发送消息时,由于消息系统的承载能力有限,会导致消息系统的压力瞬间陡增,引起消息系统的性能过载,导致消息系统无法正常提供服务。
3、对于如何保证消息系统的可用性,相关技术中尚无有效解决方案。
技术实现思路
1、本申请实施例提供一种消息发送方法、装置、服务器、计算机可读存储介质、计算机程序产品,能够均衡消息系统中各个队列的负载,从而保证消息有序和高效的发送。
2、本申请实施例的技术方案是这样实现的:
3、本申请实施例提供一种消息发送方法,方法包括:
4、接收来自至少一个业务系统的至少一条消息;
5、根据每条消息对应的业务场景,将每条消息存储到虚拟化环境中的与业务场景对应的队列中,其中,每个队列用于存储一个业务场景对应的消息;
6、根据多个队列的负载信息,对虚拟化环境的多个队列进行动态调整;
7、从动态调整后的虚拟化环境的多个队列中,调度出至少一条消息,并调用消息发送服务向终端发送调度出的至少一条消息。
8、本申请实施例提供一种消息发送装置,消息发送装置包括:
9、消息接收模块,用于接收来自至少一个业务系统的至少一条消息;
10、消息存储模块,用于根据每条消息对应的业务场景,将每条消息存储到虚拟化环境中的与业务场景对应的队列中,其中,每个队列用于存储一个业务场景对应的消息;
11、队列调整模块,用于根据多个队列的负载信息,对虚拟化环境的多个队列进行动态调整;
12、消息发送模块,用于从动态调整后的虚拟化环境的多个队列中,调度出至少一条消息,并调用消息发送服务向终端发送调度出的至少一条消息。
13、本申请实施例提供一种服务器,服务器包括:
14、存储器,用于存储可执行指令;
15、处理器,用于执行存储器中存储的可执行指令时,实现本申请实施例提供的消息发送方法。
16、本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于被处理器执行时,实现本申请实施例提供的消息发送方法。
17、本申请实施例提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时,用于实现本申请实施例提供的消息发送方法。
18、本申请实施例具有以下有益效果:
19、根据消息对应的场景将消息存储到虚拟化环境中与业务场景对应的队列中,使得不同业务场景的消息的存储在虚拟化环境中实现了隔离,并通过队列的负载信息对队列进行动态调整,从而实现了对虚拟化环境下各个队列的负载均衡,保证队列中的消息能够被及时和有序地发出。
1.一种消息发送方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据多个队列的负载信息,对所述虚拟化环境的所述多个队列进行动态调整,包括:
3.根据权利要求2所述的方法,其特征在于,所述负载信息包括所述多个队列中所述消息的堆积数量,所述根据所述多个队列的负载信息,对所述虚拟化环境中用于运行所述多个队列的容器组合的数量进行动态调整,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,所述将所述消息存储到所述虚拟化环境中的与所述业务场景对应的队列中,包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,在调用消息发送服务向终端发送调度出的至少一条所述消息之前,还包括:
8.根据权利要求1至6任一项所述的方法,其特征在于,
9.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
11.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
12.根据权利要求1至6任一项所述的方法,其特征在于,在调用消息发送服务向终端发送调度出的至少一条所述消息之前,所述方法还包括:
13.一种消息发送装置,其特征在于,所述消息发送装置包括:
14.一种用于发送消息的服务器,其特征在于,所述服务器包括:
15.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至12任一项所述的消息发送方法。