关于派单的问题求助
发布于 10 年前 作者 LayGit 4413 次浏览 最后一次编辑是 8 年前 来自 问答

现有个需求:要实现一个基于地理位置的派单功能

已完成: 1、利用 mongodb 的 geoNear 搜索功能 + query 状态 查询到 10 个满足条件的服务者 2、根据策略筛选出最满足条件的一个

未完成: 1、将单子派给他 2、他有 30 秒的接单时间,如果接单了则此订单派单任务结束,如果超时未接单,则收回订单,继续派下一个 3、每个订单总派单时间不能超过 5 分钟,超过 5 分钟转交客服人工处理 (差不多就是轮 10 个人)

那么问题来了: 1、派单有什么较好的解决方案推荐? 目前考虑 “长连接” 或者 “即时通讯云的自定义消息” 2、这 30 秒计如何解决最好,setTimeout 靠不靠谱? 特别是上千上万个订单之后,如何处理高并发。如果采用一个计时器,轮询 redis 队列,取出到 30 秒的事务,QPS会不会成为高并发的瓶颈? 3、对 memcached 不是非常了解,不知是否有一个机制可以在过期时主动推送一个消息事件,nodejs 接受到消息之后处理,并派发下一个。

ps: 没有自建机房(创业公司穷),服务器部署在阿里云

快被逼疯了,请各位多多指教,不甚感激!

3 回复

看看 AWS 的 SQS 服务,和你的需求比较接近。

https://www.amazonaws.cn/en/products/

Amazon Simple Queue Service (SQS) Message Queue Service

@leapon thx. 之前一直用的都是阿里云的云服务,Amazon 的云服务还真没接触过。

回到顶部