341*_*008 6 distributed distributed-computing quartz-scheduler
我正在寻找分布式计时器服务。多个远程客户端服务应该能够在指定的时间间隔后注册回调(通过 REST api)。间隔的长度可以是 1 分钟。我可以忍受大约 1 分钟的误差。此类回调的数量目前可以达到 100,000,但我以后需要扩大规模。我一直在寻找类似的调度程序,Quartz但我不确定它们是否适合这个问题。使用Quartz,我可能不得不将回调请求保存在数据库中,并每分钟轮询 100,000 行的过期请求。我不确定这会扩大规模。是否有任何开箱即用的解决方案?否则,我该如何建造一个?
小智 0
由于我无法发表评论,因此发布为答案
另一个需要考虑的选项是消息队列。您在其中发布具有预定延迟的消息,以便消费者可以在延迟后消费。
延迟队列允许您将队列中新消息的传递推迟指定的秒数。如果您创建延迟队列,则在延迟期间,消费者将看不到发送到该队列的任何消息。您可以使用 CreateQueue 操作通过将 DelaySeconds 属性设置为 0 到 900(15 分钟)之间的任何值来创建延迟队列。您还可以使用 SetQueueAttributes 操作设置队列的 DelaySeconds 属性,将现有队列更改为延迟队列。
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/
用户可以使用 x-delayed-message 类型声明交换,然后使用自定义标头 x-delay 发布消息,以毫秒为单位表示消息的延迟时间。消息将在 x-delay 毫秒后传递到各自的队列。
| 归档时间: |
|
| 查看次数: |
1448 次 |
| 最近记录: |