我有一组独特的值,我想给每个请求一个。
每个值只能分发一次。订单并不重要。 我正在寻找一个很好的工具来做到这一点。
我一直在考虑将MySQL与SELECT .. LIMIT 1 FOR UPDATE
一起使用。 Works,有没有办法选择一个未锁定的行而不是等待第一次锁定释放?
我尝试过使用rabbitmq,将每个请求注册为只消费一条消息的消费者,但这种方法很慢。通过WAN几乎一秒钟。
答案 0 :(得分:1)
来自评论
是的,肯定有!在某些情况下,我已经看到连接需要5到10秒或更长时间。连接[到RMQ]
时似乎有一些延迟
但我们应该管理RabbitMQ的方式是为每个应用程序实例建立一个打开的连接 - 在应用程序实例启动时打开它,并将其永久打开。
当我们需要做工作时,创建一个可以完成工作的渠道。
与连接不同,渠道便宜且打开和关闭速度非常快。