rocketMQ定时消费的问题,大佬们请进 5C

要求:
一个批量推送请求每次最多向1000人发起推送,时间间隔1分钟。
情况描述:
消息推送系统,批量推送请求——>给10万用户推送消息,我将推送id和1000人userId为一组入队列,
而消费端根据推送id取出1000userId,向第三方推送平台发起推送。
问题:
队列中同时有多个推送请求的情况下,在消费端如何给某个推送请求定时?
例如:推送请求1和请求2,各10万人,全分组加载进队列(无序),消费端如何根据推送id判断哪个推送请求该推送了?

0

3个回答

每一个人推送一次,时间间隔为1毫秒

0
qq_41337597
qq_41337597 每一个人推送一次,时间间隔为1毫秒
一年多之前 回复
qq_32170337
Javaer丶 不可能的,批量接口有效率问题,不能频繁调用。且服务器并发有限,所以需要定时。
一年多之前 回复

那你就在推送消息的时候,就带上需要定时发送的时间啊,然后用系统的定时任务去定时发送。

0
dcxy0
Q544471255 回复Javaer丶: 入队的时候就带上,在消费端,消费端收到数据就立马把消息里面设定的要发送的时间取出来,设置成定时任务,这样估计可以。
一年多之前 回复
qq_32170337
Javaer丶 你是说在入队列的时候就标明发送时间? 可是我消费的时候还是不太明白该怎么做啊
一年多之前 回复

建议你可以用Quartz定时任务调度框架,专门做定时任务的,你可以把它和MQ结合一下,完美了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Rocketmq重复消费问题
一.RocketMQ消息重复消费: 应用:通过Rocketmq异步发送极光数据推送至app端,在推送的同时将数据存入mysql数据库中 问题:在app端收到多条相同的推送消息 二.异常出现的原因 Rocketmq在消费消息时产生了异常,MessageListenerConcurrently接口返回了RECONSUME_LATER标志 ...
rocketmq的集群消费问题
producer发送1条数据,consumer1 和consumer2可以并行的接收不同的消息,以下是我的代码,现在每个接收的是全部的消息,跟broadcast模式没区别了....请指教问题在哪里?rn[code=java]rnDefaultMQPushConsumer consumer1 = new DefaultMQPushConsumer("name1");rnconsumer1.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);rn consumer1.setMessageModel(MessageModel.CLUSTERING);rnconsumer1.subscribe("TopicTest", "TagA || TagC || TagD");rnrnDefaultMQPushConsumer consumer2 = new DefaultMQPushConsumer("name2");rnconsumer2.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);rn consumer2.setMessageModel(MessageModel.CLUSTERING);rnconsumer2.subscribe("TopicTest", "TagA || TagC || TagD");rn[/code]
RocketMQ的重复消费问题
最近同事在调试环境中遇到了RocketMQ的重复消费问题,邀请我去解决下。      先谈谈这个问题的背景,关于RocketMQ的重复消费结合官方和大家的使用经验,我们有这样的一个认知: Exactly Only Once (1). 发送消息阶段,不允许发送重复的消息。 (2). 消费消息阶段,不允许消费重复的消息。 只有以上两个条件都满足情况下,才能认为消息是“Ex
RocketMQ广播消费与集群消费
之前的博客只是为了验证rmq安装是否成功,以及生产消费消息能否正常走通,如果是多个消费端消费生产者发送的消息会有什么样的效果?这个可以用代码校验一下,还是先了解两个比较常用的消费端的术语: 1.集群消费方式 一个ConsumerGroup中的Consumer实例平均分摊消费生产者发送的消息。例如某个Topic有九条消息,其中一个Consumer Group有三个实例(可能是3个进程,或者3台机...
RocketMQ的广播消费和集群消费
RocketMQ 消费模型有两种:广播消费,集群消费。 广播消费消息模型,指消费这消费某主题的所有队列的消息; 集群消费消息模型,是指同一个消费组的消费者各自消费某一主题的消费队列的消息,比如有一个主题 topicA,该主题有4个队列(创建主题的时候可以指定该主题的队列的数量),有一个消费组testConsumerGroup,该消费组有四个消费者(四个机器或者四个进程),则四个消费者各自消费一...
RocketMQ的顺序消费和事务消费
1、一个topic默认有4个队列 2、一个生产者可以对多个主题去发送消息 3、三种消费  普通消费  顺序消费 事务消费
关于rocketmq不能消费的问题
项目使用了消息中间件rocketmq,用于两个关联项目之间的通信,先前消费者一直是可以消费的,突然有一天消费者消费不到数据了,解决过程mark一下,1,怀疑是不是生产者出问题了,没有生产数据。和生产者那边联系了一下,那边回复说一直有生产数据的,排除2,怀疑是不是什么配置有问题,导致不能消费。仔细检查了下,消费者组、topic、tag、地址、端口和生产者那边沟通了一下,发现这些东西也都没问题。排除3...
RocketMQ消息重复消费的问题
重复消费的问题的一个可能的问题:消费者消费消息时产生了异常,并没有返回CONSUME_SUCCESS标志。 我急于寻找解决方法,结果百度的结果都是一期多个消费者问题云云,根本没有解决我的问题。 我发现重复消费的消息和第一次消费的消息不同,多了一些重复消费的信息: reconsumeTimes=1,2,…10 REAL_TOPIC也会是:%RETRY%XXXXX 这就是因为消息处理异常导致的
rocketmq消费队列代码
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(Constant.operationLogGroup); try { consumer.setNamesrvAddr(Constant.rocketQueneAddr); consumer.setConsumeFromW
rocketmq 顺序消费
SendResult sendResult = producer.send(msg, new MessageQueueSelector() { @Override public MessageQueue select(List<MessageQueue> mqs, Message msg, Object arg) { Integer id = (Integer...
RocketMQ源码分析之顺序消费
概述RocketMQ按照顺序消费有两种顺序级别,一种是普通顺序消息。另外一种是更完全严格顺序 普通顺序消息指的是Producer将消息发送到相对应的消息队列上面 完全严格顺序:在普通顺序消息的基础上,Consumer严格进行顺序消费 在绝大部分情况下只需要用到普通顺序消息,大部分的应用都能容忍短暂的乱序;官方文档给出的说明中表示目前只有数据库的Binlog同步会强依赖完全严格顺序(要保证数据库事务
rocketmq顺序消费
rocketmq保证消息的顺序消费的原理,其实很简单,首先需要做到一组需要有序消费的消息发往同一个broker的同一个队列上,在多线程消费场景下,一个线程只去消费一个队列上的消息,那么自然就保证了消息消费的顺序性。其实broker并不能完全保证消息的顺序消费,它仅仅能保证的消息的顺序发送而已!,只要顺序的发送,再保证一个线程只去消费一个队列上的消息,那么他就是有序的。 示例: 生产者: pa
rocketmq 顺序消费理解
要实现队列的顺序消费,比如(1)下单(2)支付(3)支付 默认的发送会随机指定一个队列, SendResult result = producer.send(msg); public MessageQueue selectOneMessageQueue(final TopicPublishInfo tpInfo, final String lastBrokerName)
RocketMQ(五)——消费模式
RocketMQ的消费方式有2种,在默认情况下,就是集群消费,也就是消息的负载均衡消费。另一种消费模式,是广播消费。广播消费,类似于ActiveMQ中的发布订阅模式,消息会发给Consume Group中的每一个消费者进行消费。
RocketMQ按顺序消费
前面我们介绍MQ的生产和消费,但是最终的消费不是顺序的,本篇讲解如何实现顺序消费。 介绍之前我们先了解下RocketMQ发送消息的大体流程 rocketmq以Topic来管理不同应用的消息。对于生产者而言,发送消息时,需要指定消息的Topic,对于消费者而言,在启动后,需要订阅相应的Topic,然后可以消费响应的消息。在物理实现上,一个Topic由多个Queue组成,采用多个Queue的好处是...
rocketmq的两种消费模式
消费端默认走集群模式,   同时多个消费组消费某个topic消息会 竞争消费,ack确认由broker完成   如果改成广播消费,消费信息的Offset由各个消费者自己控制, 如果某个涉及到mq的应用 宕机(上面有消费者),重启应用会重复消费之前的消息,可以定时的提交消费的位置到数据库或者缓存,避免这个问题.      感觉广播模式没有什么使用场景:即使广播消费,某个应用至少部署两个节点吧,  ...
rocketMq 顺序消费
什么是顺序消费? 消息有序指的是一类消息消费时,能按照发送的顺序来消费。例如:一个订单产生了 3 条消息,分别是订单创建、订单付款、订单完成。消费时,要按照这个顺序消费才有意义。与此同时多笔订单之间又是可以并行消费的。 rocketmq是怎么实现顺序消费的呢? ①rocketmq保证同一个订单的消息,一定要发送到同一个队列 ②并且该队列只有一个消费者,也就是说 同一个队列,不能出现多个消费者并行消...
RocketMQ——顺序消费(代码)
关于rocketmq顺序消费的理解和图示可以查看该博文:RocketMQ——顺序消费和重复消费本博客主要是以代码示例来了解顺序消费的相关内容,建议在此之前先了解下顺序消费的原理。注:RocketMQ可以严格的保证消息有序,但这个顺序,不是全局顺序,只是分区(queue)顺序,如果想要全局顺序,那么需要保证只有一个分区。1.producerpackage com.gwd.rocketmq; imp...
细谈RocketMQ的消费模式
目录 集群消费 广播消费 使用集群消费模拟广播消费 首先明确一点,RocketMQ 是基于发布订阅模型的消息中间件。所谓的发布订阅就是说,consumer 订阅了 broker 上的某个 topic,当 producer 发布消息到 broker 上的该 topic 时,consumer 就能收到该条消息。 之前我们讲过 consumer group 的概念,即消费同一类消息的多个 co...
rocketmq消费消息流程
主要讲述rocketmq的消费流程,ack机制以及消费失败的处理问题。 1 rocketmq的消费流程 public static void main(String[] args) throws InterruptedException, MQClientException { /* * Instantiate with specified consum...
RocketMQ源码分析之消费消息(下)
提交消费请求,默认是每次消费一个消息,对消息进行数量上的拆分,然后放进线程池中执行 public void submitConsumeRequest( final List<MessageExt> msgs, final ProcessQueue processQueue, final MessageQueue messageQueue, fina...
RocketMq获取消费信息
        这几天项目需要查看mq的消费情况,阿里开源的mq-console界面挺好的,但是里面权限太大了,所以就琢磨着自己开发接口获取mq消费信息。话不多说,贴出代码 long timeout = 1000 * 3; String topic = "market_test_topic"; String group = "group_name"; String nameAddr="mq的...
rocketmq消费端流量控制
rocketmq定义里一个快照ProcessQueue,每个MessageQueue都有一个对应的ProcessQueue对象来保存自身的快照。 里面是一个TreeMap和一个读写锁,树以MessageQueue的offset为key,以消息内容的引用为value,保存来所有从MessageQueue获取的但是未被处理的消息. 读写锁控制多线程对树内对象的并发访问 ...
RocketMQ生产消费模型选择
一. 生产者,根据某个标识将消息放到同一个队列中 在发送消息时,使用SelectMessageQueueByHash,该类根据传入进去的arg,进行hash计算,将消息分配到相应的队列中。 public class Producer { public static void main(String[] args) throws MQClientException { ...
RocketMQ 消费进度
Rocketmq 拉取消息的时候,可能会保存消费进度的哦!且看一下的截图 因为拉取到的消息后,消费进度先刷 内存的。之后,由定时任务推送到 broker 端的。如果是 集群模式,消费进度都是保存在 broker 端的。 这里设置了标志位,这种方式非常聪明,减少了协议的头部的大小通过这 3 张截图,我们可以大致了解到。consumer 处理第一次消费这个队列的数据外,第二次之后,broker
rocketMq的消息的生产和消费
1、普通消息生产         普通消息生产包括3种,可靠的同步传输、可靠的异步传输、单项传输。        1)、可靠的同步传输            说明:可靠的同步传输广泛应用于重要的通知消息、短信通知、短信营销系统等。          示例代码:           DefaultMQProducer synProducer = new DefaultMQProdu
rocketmq消费模式机制
1. RocketMQ 支持两种消息模式: Clustering 和Broadcasting 从代码可以看出: 2. CLUSTERING 同组里的每个Consumer 只消费所订阅消息的一部分内容。 3. BROADCASTING 同组里的每个Consumer 消费所订阅消息的全部内容。 4. 原理如图所示: ...
RocketMQ探秘——客户端消费
一、客户端组件总览             每个客户端有一个管理者(MQClientManager),是单例,负责生产MQInstance对象,MQClientManager通过id将多个MQInstance对象放在一个列表中。MQClientManager的id命名规范是ip@instanceName@unitName。一般情况下是一个客户端只有一个MQInstance对象。MQInstanc...
查看rocketmq消费情况
1.首先登陆nameserver主机地址。 cd /root/rocketmq/bin 2.mq支持以下命令 The most commonly used mqadmin commands are: updateTopic Update or create topic deleteTopic Delete topic from broker a
rocketmq 消费重试测试
2019独角兽企业重金招聘Python工程师标准>>> ...
RocketMQ消费失败消息处理
2019独角兽企业重金招聘Python工程师标准>>> ...
rocketmq消费流程学习笔记
rocketmq源码学习——消费篇 ​ 最近在学习rockmq,经过前面的安装的“洗礼”(rocketmq在docker环境下的单机搭建(ubuntu-16.0 + docker-17.03 + rocketmq-4.2)后,准备着用它做一个东西,于是去查网上的“rockmq在实际中的用法”,没有找到称心的,所以去搜了“rockmq源码学习”,看了一篇很棒的文章(文章地址见本篇结尾),跟随着...
RocketMQ - 实现顺序消费
发送顺序消息原理 https://blog.csdn.net/jessdl/article/details/82684503 示例代码 https://my.oschina.net/javamaster/blog/2051816
RocketMQ 消费端
原文地址:http://adamswanglin.com/rocketmq/rocketmq-consumer/ 关于rocketmq-client包 RocketMQ将producer,consumer和admin相关代码都放到rocketmq-client jar包里;RocketMQ的采用客户端拉的方式消费消息(PUSH也是通过客户端拉来实现的),拉取的时候要考虑负载均衡(rebalan...
RocketMQ源码分析----消费消息
发送拉取消息请求 Consumer在拉取消息的时候,主要分为3个线程,分别做3件事情: 1.遍历MessageQueue集合,组装成PullRequest对象,放到map processQueueTable中 2.从processQueueTable中获取数据,向broker请求,返回结果放到map responseTable中 3.扫描responseTable,根据
RocketMQ发送消息和消费消息
RocketMQ发送消息和消费消息 原文:https://blog.csdn.net/qq_18603599/article/details/81172866 看一下pom.xml的文件内容 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" ...
RocketMq——顺序消费和事务
RocketMQ不遵循JMS规范,自己有一套自定义的机制,使用订阅主题的方式发送和接收任务,支持广播和集群两种消费模式。集群模式:设置消费端对象属性:MessageModel.CLUSTERING,这种方式就可以达到ActiveMQ水平扩展负载均衡消费消息的实现。比较特殊的是这种行为可以支持先发送数据(生产端先发送到MQ),消费端订阅主题发生在生产端之后也可以收到数据,比较灵活。广播模式:设置消费端
源码分析RocketMQ之消息消费
本文主要初步的剖析RocketMQ消息过程,包括消息推拉模式、消费模式(集群或广播)、消费者想消息负载均衡机制、消息消费进度存储等,并没有从源码级别深入分析,后续文章会从如下角度深入分享
RocketMQ顺序消费
1.Priducer消息生产端/** * Producer,发送顺序消息 */ public class Producer { public static void main(String[] args) { try { DefaultMQProducer producer = new DefaultMQProducer("order_Producer"); producer...
RocketMq重复消费问题排查
前情 出现了重复消费的问题,同一个消息被重复消费了多次,导致了用户端收到了多条重复的消息,最终排查发现,是因为消费者在处理消息的方法onMessage中有异常没有捕获到,导致异常上抛,被consumeMessage捕获并判定为消费失败,从而放到了重试队列当中进行重试,下面我们就来看看RocketMq中会引起消息重试的两种情况,内部异常和消费超时。 源码 在Consumer中处理消息时,会在消费完消...
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo