rabbitmq - 我如何知道 RabbitMQ 中何时使用了一批消息?
问题描述
我有一个生产者,可以将成批的项目放入队列中。我想知道一个批次的所有物品什么时候用完。无论是在生产者还是消费者中处理,都没有关系。
我能想到的最好的方法是在消息中包含总批次大小和每批次的递增数量。这样消费者就知道它何时处理最后一条消息。
有一个更好的方法吗?也许 RabbitMQ 提供了开箱即用的东西?
我正在使用spring-cloud-stream并希望保留它,但可以选择直接使用 rabbitmq java 库。
更新:
- 只有当一个批次的所有项目都用完时,该批次才被标记为完成。
- 一批可以包含 100,000 件物品。这个想法是让大量的并行消费者来处理它们。因此,一次发送全部是没有选择的。
解决方案
推荐阅读
- dart - 为什么 TweenAnimationBuilder 无法使用其 tween 属性推断类型?
- r - 返回 R 中的输入参数
- php - 无法使用 Laravel 的策略删除
- java - Jackson Mr Bean Bean Materializer 支持 toString 实现
- python-3.x - python3 weakref() 类迭代器在函数之间丢失
- php - 使用 API 和 Laravel Sanctum 进行电子邮件验证
- amazon-web-services - 未在 module.eip 中声明托管资源“aws_internet_gateway”“igw_id”
- c++ - 交换数组/向量中的所有最小和最大数字
- python - 如何在 python 上的 pyQt5 GUI 中创建和访问多个数据集?
- plugins - 用于路由电子邮件的 Dynamics CRM 插件消息