[发明专利]基于ActiveMQ+Redis的同步消息队列在审
申请号: | 201710198762.0 | 申请日: | 2017-03-29 |
公开(公告)号: | CN107092533A | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 甄建廷 | 申请(专利权)人: | 弘成科技发展有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 成都市鼎宏恒业知识产权代理事务所(特殊普通合伙)51248 | 代理人: | 谢敏 |
地址: | 100007 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 activemq redis 同步 消息 队列 | ||
1.基于Active MQ+Redis的同步消息队列,其特征在于:步骤包括:
S1. 创建Active MQ消息队列的连接和对话;
S2. 向所述Active MQ消息队列插入消息,由消费者监听消息;
S3. 消费者接收到消息,被消费者接收到的消息反馈并存储到Redis的list数据结构中,用于记录消息进入所述Active MQ消息队列的先后顺序;
S4. 所述Redis按照消息进入所述Active MQ消息队列的先后顺序向持有消息的消费者发送分布式锁;
S5. 获取到分布式锁的消费者成为领导者,消费其持有的消息,消费完成后释放分布式锁,继续监听消息;未获取到分布式锁的消费者继续等待获取由所述Redis发送的新的分布式锁;
S6. 领导者释放分布式锁的动作反馈给所述Redis后,所述Redis继续发送新的分布式锁。
2.根据权利要求1所述的基于Active MQ+Redis的同步消息队列,其特征在于:所述消息有且只有一次被消费者消费。
3.根据权利要求1所述的基于Active MQ+Redis的同步消息队列,其特征在于:所述Redis为单线程。
4.根据权利要求1所述的基于Active MQ+Redis的同步消息队列,其特征在于:所述Redis的list数据结构为双向队列数据结构。
5.根据权利要求1所述的基于Active MQ+Redis的同步消息队列,其特征在于:所述Redis中预设有消息消费时限;
在步骤S5中,当消费者成为领导者时,所述Redis自动存储开始消费消息的时间,当领导者实际消费时间大于预设消费时限时,所述Redis自动删除领导者持有的分布式锁并重新向持有消息的消费者发送分布式锁。
6.根据权利要求1所述的基于Active MQ+Redis的同步消息队列,其特征在于:消费者消费过程中因断电或重启导致消费中断时,正在被消费的消息被所述Redis从所述Active MQ消息队列中取出并保存,消费者重启后,所述Redis将保存的消息重新加载到所述Active MQ消息队列中供消费者继续消费,直到消费完成后所述Redis删除保存的消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于弘成科技发展有限公司,未经弘成科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710198762.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种注蜡机夹具
- 下一篇:一种消失模铸造用降温双层波纹管及砂箱冷却系统