本发明涉及消息推送,尤其涉及一种基于微服务的多渠道消息推送方法和系统。
背景技术:
1、随着教育企业数字化转型升级及加快发展,各类信息系统也随之增强与拓展,对于服务的种类和质量的需求也日益增高。消息推送是各业务中所需的较为重要的一项功能,可应用于向学生发送课程营销、消息提醒、安全验证等使用场景。
2、消息推送渠道多样化、不集中、不统一,不同信息系统分别对接同一消息推送渠道时也需要分别独立开发,这就存在重复开发的问题。比如,培训系统a独立对接了消息推送渠道a的短信发送,培训系统b独立对接了消息推送渠道b的短信发送。如果培训系统a想要增加消息推送渠道b的短信发送渠道,培训系统b想要增加消息推送渠道a的短信发送渠道,则需要培训系统a与消息推送渠道b进行一次对接,培训系统b与消息推送渠道a进行一次对接,即只要信息系统需要新增一种消息推送渠道就需要进行一次对接,这种情况下就存在拓展消息推送渠道时的重复开发问题。
技术实现思路
1、本发明提供一种基于微服务的多渠道消息推送方法和系统,用于解决现有技术中消息推送渠道多样化、不集中、不统一,不同信息系统分别对接同一消息推送渠道时导致通道拓展时的重复开发问题。技术方案如下:
2、第一方面,本发明的实施例提供一种基于微服务的多渠道消息推送方法,应用于基于微服务的多渠道消息推送系统中,所述基于微服务的多渠道消息推送系统包括统一调度和配置中心,业务服务和安全服务均已注册到所述统一调度和配置中心,所述业务服务至少包括消息推送服务,所述消息推送服务为将多种消息推送渠道聚合而成的一个服务;所述基于微服务的多渠道消息推送方法包括:
3、在调用所述消息推送服务后,校验调用方上传的消息参数是否正确;
4、若校验通过,则根据所述消息参数生成目标消息,并将所述目标消息推送至消息队列中,以及根据所述消息参数确定目标消息推送渠道;
5、将所述目标消息发送到所述目标消息推送渠道,利用所述目标消息推送渠道实现所述目标消息的发送。
6、可选地,在调用所述消息推送服务之前,所述基于微服务的多渠道消息推送方法还包括:
7、信息系统从前端平台调用接口将微服务请求发送至服务器;
8、所述服务器将所述微服务请求转发给网关;
9、所述网关将所述微服务请求转发给所述安全服务;
10、所述安全服务根据所述微服务请求,对发送所述微服务请求的调用方进行认证和授权。
11、可选地,所述基于微服务的多渠道消息推送系统还包括客户管理模块,所述基于微服务的多渠道消息推送方法还包括:
12、通过所述客户管理模块进入消息推送渠道配置功能;
13、根据用户上传的消息推送渠道配置信息完成消息推送渠道的配置;
14、保存配置信息。
15、可选地,所述统一调度和配置中心为动态命名和配置服务nacos平台。
16、可选地,所述多种消息推送渠道包括以下至少两种:
17、app推送、邮件、公众号推送、短信。
18、可选地,所述服务器为nginx服务器。
19、可选地,所述基于微服务的多渠道消息推送方法还包括:
20、获取所述目标消息推送渠道发送目标消息的结果,并记录所有发送行为信息,所述发送行为信息至少包括:发送时间、消息参数、发送内容、发送结果、失败原因。
21、第二方面,本发明的实施例提供一种基于微服务的多渠道消息推送系统,包括统一调度和配置中心,业务服务和安全服务均已注册到所述统一调度和配置中心,所述业务服务至少包括消息推送服务,所述消息推送服务为将多种消息推送渠道聚合而成的一个服务;所述基于微服务的多渠道消息推送系统还包括:
22、校验模块,用于在调用所述消息推送服务后,校验调用方上传的消息参数是否正确;
23、处理模块,用于在校验通过后,根据所述消息参数生成目标消息,并将所述目标消息推送至消息队列中,以及根据所述消息参数确定目标消息推送渠道;
24、调用模块,用于调用所述目标消息推送渠道发送所述目标消息。
25、可选地,所述基于微服务的多渠道消息推送系统还包括客户管理模块;
26、所述客户管理模块用于通过所述客户管理模块进入消息推送渠道配置功能,根据用户上传的消息推送渠道配置信息完成消息推送渠道的配置,以及保存配置信息。
27、可选地,所述统一调度和配置中心为动态命名和配置服务nacos平台。
28、本发明的上述技术方案的有益效果是:
29、本发明实施例提供的基于微服务的多渠道消息推送方法和系统中,基于微服务的多渠道消息推送系统包括统一调度和配置中心,业务服务和安全服务均已注册到所述统一调度和配置中心,所述业务服务至少包括消息推送服务,所述消息推送服务为将多种消息推送渠道聚合而成的一个服务。在实际应用中,当在调用消息推送服务后,首先校验调用方上传的消息参数是否正确;若校验通过,则根据消息参数生成目标消息,并将所述目标消息推送至消息队列中,以及根据消息参数确定目标消息推送渠道;最后将所述目标消息发送到目标消息推送渠道,利用目标消息推送渠道实现所述目标消息的发送。本发明中不同的信息系统可以分别与消息推送服务对接,因为消息推送服务是由多种消息推送渠道聚合而成的一个服务,因此每个与消息推送服务对接的信息系统即可拥有多种消息推送渠道的推送能力,避免了传统消息推送渠道开发模式不集中、不统一,存在重复开发的问题。并且本发明给不同信息系统提供一致性的接口,相比现有技术中需要单独对接不同的消息推送渠道方式,本发明这种对接方式更简单、调用更方便。
1.一种基于微服务的多渠道消息推送方法,其特征在于,应用于基于微服务的多渠道消息推送系统中,所述基于微服务的多渠道消息推送系统包括统一调度和配置中心,业务服务和安全服务均已注册到所述统一调度和配置中心,所述业务服务至少包括消息推送服务,所述消息推送服务为将多种消息推送渠道聚合而成的一个服务;所述基于微服务的多渠道消息推送方法包括:
2.根据权利要求1所述的基于微服务的多渠道消息推送方法,其特征在于,在调用所述消息推送服务之前,所述基于微服务的多渠道消息推送方法还包括:
3.根据权利要求1所述的基于微服务的多渠道消息推送方法,其特征在于,所述基于微服务的多渠道消息推送系统还包括客户管理模块,所述基于微服务的多渠道消息推送方法还包括:
4.根据权利要求1所述的基于微服务的多渠道消息推送方法,其特征在于,所述统一调度和配置中心为动态命名和配置服务nacos平台。
5.根据权利要求1所述的基于微服务的多渠道消息推送方法,其特征在于,所述多种消息推送渠道包括以下至少两种:
6.根据权利要求2所述的基于微服务的多渠道消息推送方法,其特征在于,所述服务器为nginx服务器。
7.根据权利要求1所述的基于微服务的多渠道消息推送方法,其特征在于,所述基于微服务的多渠道消息推送方法还包括:
8.一种基于微服务的多渠道消息推送系统,其特征在于,包括统一调度和配置中心,业务服务和安全服务均已注册到所述统一调度和配置中心,所述业务服务至少包括消息推送服务,所述消息推送服务为将多种消息推送渠道聚合而成的一个服务;所述基于微服务的多渠道消息推送系统还包括:
9.根据权利要求8所述的基于微服务的多渠道消息推送系统,其特征在于,所述基于微服务的多渠道消息推送系统还包括客户管理模块;
10.根据权利要求8所述的基于微服务的多渠道消息推送系统,其特征在于,所述统一调度和配置中心为动态命名和配置服务nacos平台。