文章详情页
java - 并发操作下关于队列的疑问?
浏览:95日期:2023-10-26 15:47:21
问题描述
常用的rabbitmq,activeMq队列,多个消费者或者多个线程去取队列中的数据,会不会出现不同消费者同时到达取到同一个数据的情况?目前只知道redis由于是单线程的,做队列的时候可以避免这种情况。
问题解答
回答1:消息队列的发布订阅模式有多种,有一个消息多个消费者都能获取到的模式,有一个消息发送到指定消费者模式,选择合适你自己的~你说的这种可以用rabbitmq的direct模式
回答2:任何消息队列,只要自称是消息队列服务的,都会保证这点,无须担心。但要注意的是,消息队列有两种模式,生产者消费者模式和发布者订阅者模式,前者保证每条消息只会被消费一次,后者保证每条消息能达到所有的订阅者,因此被消费的次数不确定。
标签:
java
相关文章:
1. sql语句 - 如何在mysql中批量添加用户?2. php - 数据库表如果是null怎么替换为其他字段的值3. SQLAlchemy 访问Mysql数据库弹出Warning,VARIABLE_VALUE,如何解决?4. mysql建表报错,查手册看不懂,求解?5. mysql - JAVA怎么实现一个DAO同时实现查询两个实体类的结果集6. shell - Update query wrong in MySQL7. 怎么php怎么通过数组显示sql查询结果呢,查询结果有多条,如图。8. mysql - 数据库建字段,默认值空和empty string有什么区别 1109. mysql - SQL语句可以提供“查询表,并至第100条结果为止”吗?10. javascript - mysql插入数据时怎样避免与库中的数据重复?
排行榜
