我有一个特殊类型的问题声明要解决。
将RabbitMQ配置为消息代理,它的工作,但当消耗过程中出现故障时,我现在用以下方式来确认 窝囊 但它盲目地用已经进来的任何东西作为有效载荷重新排队,但我想添加更多的字段,用更简单的步骤重新排队。
例如:当消耗者从RabbitMQ获取有效载荷数据时,它将处理这些数据,并试图在多台主机上基于这些数据进行一些处理,但由于某些原因,如果一台机器无法到达,我需要在一段时间后单独处理这些数据。
当消耗者从RabbitMQ获取有效载荷数据时,它将对其进行处理,并试图在多台主机上基于该数据进行一些处理,但由于某些原因,如果一台机器无法到达,我需要在一段时间后单独处理。机器名称 再回到队列中,这样就可以用现有的逻辑再次处理。
如何实现这个目标?谁能帮帮我
当消息被重新排队时,如果可能的话,该消息将被放置到其队列中的原始位置。如果不可能(当多个消费者共享一个队列时,由于其他消费者的并发交付和确认),消息将被重排到一个更接近队列头的位置。这样一来,你就会陷入一个无限循环(消耗和重排消息)。为了避免这种情况,你可以积极地确认消息并将其发布到队列中,并更新字段。发布消息会把它放在队列的末尾,因此你可以在一段时间后处理它。