假如有这么一个需求,我希望rabbitMQ的队列每秒被消费1条信息,但是有两个消费者轮流消费,也就是第0秒:第一个消费者输出A第1秒:第一个消费者输出B第2秒:第一个消费者输出A第3秒:第一个消费者输出B
间隔打印一直到消费完毕如何设置mq或者交换机的属性呢
还有死信队列是干嘛的,网上好多都在说咋用,不知道是干嘛的
收起
2个消费者,复用一个连接就行
每秒消费几条队列是消费者决定的,不是生产者决定的,也不是队列本身决定的队列本身只负责存储队列,可不管谁往里存,谁往外取你可以开两个线程,加个锁,同一时间只允许一个线程执行
mq不支持间隔1秒消费吗,因为消费者是在不同的服务器上,小功能不太想加分布式锁
你可以这样想:如果mq支持间隔1秒消费,那如果1秒之内有10个请求同时来了,它要怎么处理这些请求呢,阻塞吗,还是返回错误码?
我希望的是阻塞,因为三方接口限流,不阻塞会导致发生错误
答案复制过来了
你这是2个问题,我怀疑1、MQ每秒提供1条信息,多了限流2、消费者,必须轮流消费
问题1你可以再建一个MQ啊,原始的MQ,信息随便来, 你本地再建一个对外服务的,你自己写个消费者,每秒从原始MQ消费1条,然后放到这个对外的MQ里。
问题2,这个是外部消费者控制,我真的不知道你个服务提供端,怎么限制消费端必须要【循环】?难道你要给2个消费者,建2个队列,然后每隔【2秒钟】先后发送1条数据给他们?
因为分布式,写一份就要复制多份部署到不同服务器,并不是只有这一个需求,单独为这一个做个服务线程的话不太可行,系统部署在linux上的,没必要【循环】,只要mq固定每秒吐一个数据就行
报告相同问题?
程序员都在用的中文IT技术交流社区
专业的中文 IT 技术社区,与千万技术人共成长
关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!