【发布时间】:2017-03-15 20:27:04
【问题描述】:
我们基本上是在为我们的平台构建一个 Push API,并希望它每分钟推送大量的 Webhook 事件(有些甚至达到数千个)。两个相同的事件可能会在几毫秒内创建,我们希望将它们聚合在一起。
目标:
- 尽我们所能聚合相同的事件,这样进来的 2 个或更多此类事件只会产生一份工作。
- 从创建作业的客户端中移除聚合责任。
话虽如此,在我们可能有 16 个进程排队作业的设置中,使用 Redis 排序集是否有用?
我正在考虑使用时间戳作为分数,并通过以下命令不断“弹出”项目:
MULTI
ZRANGE queue 0 {demand - 1}
ZREMRANGEBYRANK queue 0 {demand - 1}
EXEC
但我不确定性能成本或其他考虑因素。有人会推荐这个吗?我觉得排序集在这里很有意义。
【问题讨论】: