在 php 进程之间唯一分配队列的最佳方式



我有一组唯一值,我想给每个请求一个。

每个值只能分配一次。顺序并不重要。我正在寻找一个好的工具来做到这一点。

我一直在考虑将MySQL与SELECT .. LIMIT 1 FOR UPDATE一起使用。工作,有没有办法选择一个解锁的行而不是等待第一个锁定释放?

我尝试使用 rabbitmq,将每个请求注册为仅使用一条消息的消费者,但这种方法很慢。在 WAN 上花费了将近一秒钟的时间。

来自评论

连接 [RMQ] 时似乎有相当长的延迟

是的,肯定有! 在某些情况下,我看到连接需要 5 到 10 秒或更长时间。

但是我们应该管理 RabbitMQ 的方式是每个应用程序实例有一个打开的连接 - 在应用程序实例启动时打开它,并永久保持打开状态。

当我们需要做工作时,创建一个要做工作的频道。

与连接不同,通道便宜且打开和关闭速度非常快。

相关内容

  • 没有找到相关文章

最新更新