我有一个负载平衡的webAPI,可以接受用户输入。根据输入类型,我必须延迟处理请求。例如用户可能会说从现在开始20分钟后处理他的消息。另一个用户可以说从现在开始22分钟后处理他的消息。在20分钟内,第一个用户可以要求取消他的消息(不应处理)。
我想到了cron调度程序,但是事件的数量可能很大,导致内存使用量激增。另外,如果系统发生故障,事件将丢失。我还查看了RabbitMQ中的延迟队列,但是在任何排队系统中都不可以取消特定消息。
我正在寻找一个可以在其中转储消息和延迟的框架,并且该框架应在延迟间隔之后在回调中播放消息。由于问题的大小,要求框架应该水平扩展,而没有任何单点故障。
如果某人对任何此类框架都有过经验并且可以重定向我,那就太好了。