【技术实现步骤摘要】
分布式消息处理系统及方法
[0001]本说明书涉及分布式消息
,特别涉及一种分布式消息处理系统及方法。
技术介绍
[0002]目前银行业推送的消息(例如,短信、APP消息、微信等)日渐丰富,日均有数以亿计的消息需发送,如何整合消息发送,提高消息的发送速率,提升发送可靠性,变得越来越重要。
[0003]当前,各种企事业机构(例如,银行)都有自己的消息发送体系,通过建立不同的消息发送系统,将消息发送给不同的渠道,例如短信渠道、微信渠道、手机APP渠道等,各消息发送方如果需要发送不同渠道的消息则需要分别对接不同的消息发送渠道,且各渠道的消息模板不尽相同,需要配置不同的消息模板。这种方式大大增加了消息发送方的开发难度。消息发送方需要对接不同的发送系统发送不同渠道的消息,不同渠道不同的模板要单独配置在不同的系统,系统应对消息的激增响应不及时,而且消息经过分布式消息中间件后可能会引起消息丢失。
[0004]针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
[0005]本说明书实施例提供了一种 ...
【技术保护点】
【技术特征摘要】
1.一种分布式消息处理系统,其特征在于,包括接入层、路由层、渠道层、数据库和Kafka补偿集群;其中,所述接入层用于接收消息发送方发送的消息;还用于将接收到的消息发送至所述路由层;还用于将接收到的消息持久化至所述数据库中;所述路由层用于接收所述接入层发送的消息;还用于根据所述消息的渠道信息将所述消息发送至所述渠道层中对应的渠道层服务器;所述渠道层中的渠道层服务器用于调用对应的消息渠道推送接收到的消息;所述数据库用于根据所述消息的推送结果更新所述消息的状态;所述Kafka补偿集群用于每隔预设时间段扫描所述数据库中的消息的状态,以将推送失败的消息进行重新推送。2.根据权利要求1所述的分布式消息处理系统,其特征在于,还包括第一层Kafka集群和第二层Kafka集群;所述接入层与所述路由层之间通过所述第一层Kafka集群连接;所述路由层与所述渠道层之间通过所述第二层Kafka集群连接。3.根据权利要求2所述的分布式消息处理系统,其特征在于,所述第一层Kafka集群与所述第二层Kafka集群之间设置有分布式服务链路,在Kafka心跳报文出现异常时,启动备用链路推送重要程度高于预设程度的消息。4.根据权利要求3所述的分布式消息处理系统,其特征在于,在消息量激增的情况下,所述第一层Kafka集群和/或所述第二层Kafka集群执行扩容操作。5.根据权利要求3所述的分布式消息处理系统,其特征在于,所述数据库具体用于:在所述接入层将所述消息持久化至所述数据库的情况下将所述消息的状态设置为第一状态;在所述接入层将所述消息发送至所述路由层的情况下将所述消息的状态设置为第二状态;在所述渠道层服务器调用对应的消息渠道推送所述消息的情况下将所述消息的状态设置为第三状态;所述Kafka补偿集群具体用于每隔预设时间段扫描所述数据库中的消息的状态,以将状态为第一状态和第二状态的消息进行重新推送。6.根据权利要求5所述的分布式消息处理系统,其特征在于,所述Kafka补偿集群具体用于每隔预设时间段扫描所述数据库中的消息的状态,将状态为第一状态的消息重新发送至所述第一层Kafka集群,将状态为第二状态的消息重新发送至所述第二层Kafka集群,以将状态为第一状态和第二状态的消息进行重新推送。7.根据权利要求1所述的分布...
【专利技术属性】
技术研发人员:王存彪,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。