客户点击导出excel,这时发送一条消息到 rocketmq,
rocketmq在消费时,会有超时重试机制,默认15S,重试(不管有没有错误,到时间就认为超时,虽然可以修改)
生成个excel的时间可能在3~5分钟,可能生成时发生错误(如读取数据超时,有一定容错,但无法避免完全不出问题).
这种情况是不是太适合用rocketmq来做触发和重试?
用数据库做轮询是不是比较好?
或是更好的实现方式?
你是想通过rocketMq 做什么?,做消息通知吗,你可以这样实现
用户点击导出-> 通过mq发送导出指令给 [导出服务] -> [导出服务] 接收到mq后 处理任务 -> [导出服务]处理完成后 通过mq发送任务完成的消息
使用姿势不太正确。
RabbitMQ 在你这个场景里应该只是用作触发。在接收到 RabbitMQ 的消息后,如果涉及到长时间操作,建议把这整个任务封装为整体,异步启动,而不是等待在那里等它结束。
我有一个Kafka流应用程序,它从几个主题中获取数据,并将数据加入另一个主题。 Kafka配置: 注意:我在运行Kafka Brokers的机器上运行Kafka Streams应用程序。 每小时消耗/产生数百万条记录。每当我让Kafka经纪人倒下时,都会进入再平衡阶段,再平衡大约需要30分钟,有时甚至更长时间。 有人知道如何解决Kafka消费者的再平衡问题吗?而且,很多时候,它在重新平衡时抛出异常
我们已经知道如何处理缓慢的I/O操作。让我们看一个与I/O无关的耗时的任务。例如,我们修改loadList()函数并创建一个新的slow函数发射我们已安装的app数据。 private Observable<AppInfo> getObservableApps(List<AppInfo> apps) { return Observable .create(subscriber -> {
我正在尝试实现销售消耗品(硬币)的谷歌应用内计费。我用一个非消耗品测试了它,它工作正常。但是我不能让它成为消耗品。每次我测试它,我只能买一次!这是我的代码: 公共类MainActivity扩展了AppCompatActivity{IabHelper mHelper; ### 对不起我的英语,谢谢。
请为以下场景提供ZeroMQ套接字体系结构建议: 1)端口上有服务器监听 2)有多个客户端同时连接服务器 3) 服务器接受来自客户端的所有连接,并为每个客户端提供双向队列,这意味着双方(客户端N或服务器)都可以发送或使用消息,即双方都可以是通信的发起方,另一方应该有一个回调来处理消息。 我们应该在每个接受的连接上创建额外的ZeroMQ套接字来从服务器推送消息吗?你能建议哪一个ZeroMQ套接字类型
是否有一种方法以编程方式访问和打印使用者滞后偏移,或者说使用者读取的最后一条记录的偏移与某个生产者写入该使用者分区的最后一条记录的偏移之间的位置差。 要知道我的最终目标是将这个值发送到prometheus进行监视,我应该在上面添加哪些语句来得到滞后偏移值?
我有一个springboot消费者应用程序。当我第一次运行它时,它消耗了来自Kafka主题的信息。但当我再次运行它时,它停止了消耗。在日志中,我看到以下消息。 我知道消费者无法获得偏移量。在这种情况下,消费者将引用自动偏移重置属性。如您所见,我已将其设置为,希望消费者从头开始阅读。但它没有。 应用程序. yml 在我的Java课上 我尝试了一些东西。 我将值设置为。不出所料,它抛出了一个异常,抱怨