【技术实现步骤摘要】
基于ActiveMQ+Redis的同步消息队列
本专利技术属于同步消息队列执行
,具体涉及一种基于ActiveMQ+Redis的同步消息队列。
技术介绍
消息队列在只有一个消费者的情况下,假如该消费者的机器发生故障,则无法完成对消息的完全消费,此时,如果要继续消费消息,则需要切换到其他机器进行操作,即在系统中设置多个消费者终端;而多个消费者消费消息又存在需要顺序执行的问题,在多消费者并行消费分布式消息队列消息的场景中,怎样保持多个消费者之间的顺序消费,是一个亟待解决的重要问题。在实际业务场景中,例如:有多个教师同时导入学生信息,按照学生人数实时扣费的场景中,导入的逻辑顺序是先获取剩余费用信息并进行判断,剩余费用充足则将学生信息导入,剩余费用不足则禁止导入。以2位教师执行操作导入100名学生信息为例,假如剩余费用等于100名学生的加总费用,在并行执行时,2位教师获取到的剩余费用信息都是充足的,都会执行导入学生信息的操作,这样就有可能导致剩余费用透支的情况发生。ActiveMQ是目前最流行的一种消息总线,Redis是一款内存可持久化的日志型key-value数据 ...
【技术保护点】
基于Active MQ+Redis的同步消息队列,其特征在于:步骤包括:S1. 创建Active MQ消息队列的连接和对话;S2. 向所述Active MQ消息队列插入消息,由消费者监听消息;S3. 消费者接收到消息,被消费者接收到的消息反馈并存储到Redis的list数据结构中,用于记录消息进入所述Active MQ消息队列的先后顺序;S4. 所述Redis按照消息进入所述Active MQ消息队列的先后顺序向持有消息的消费者发送分布式锁;S5. 获取到分布式锁的消费者成为领导者,消费其持有的消息,消费完成后释放分布式锁,继续监听消息;未获取到分布式锁的消费者继续等待获取 ...
【技术特征摘要】
1.基于ActiveMQ+Redis的同步消息队列,其特征在于:步骤包括:S1.创建ActiveMQ消息队列的连接和对话;S2.向所述ActiveMQ消息队列插入消息,由消费者监听消息;S3.消费者接收到消息,被消费者接收到的消息反馈并存储到Redis的list数据结构中,用于记录消息进入所述ActiveMQ消息队列的先后顺序;S4.所述Redis按照消息进入所述ActiveMQ消息队列的先后顺序向持有消息的消费者发送分布式锁;S5.获取到分布式锁的消费者成为领导者,消费其持有的消息,消费完成后释放分布式锁,继续监听消息;未获取到分布式锁的消费者继续等待获取由所述Redis发送的新的分布式锁;S6.领导者释放分布式锁的动作反馈给所述Redis后,所述Redis继续发送新的分布式锁。2.根据权利要求1所述的基于ActiveMQ+Redis的同步消息队列,其特征在于:所述消息有且只有一次被消费者消费。3.根据权利要求1所述的基于ActiveMQ+Re...
【专利技术属性】
技术研发人员:甄建廷,
申请(专利权)人:弘成科技发展有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。