相关文章推荐
烦恼的核桃  ·  Android图片加载框架最全解析(一),G ...·  1 月前    · 
坚韧的松鼠  ·  前沿 | ...·  1 月前    · 
耍酷的生菜  ·  无“陷”孕育一件事讲解专场问答专栏-龙华政府在线·  4 月前    · 
深沉的黄瓜  ·  咚漫优选漫画作品火热上线,精雕细琢全力打造经 ...·  2 年前    · 
千年单身的生姜  ·  同姓不同命!五菱汽车难“沾”新能源之光_搜狐 ...·  2 年前    · 
个性的汉堡包  ·  搜索结果_BL鍔ㄦ极 濂宠姝eお(my ...·  2 年前    · 
高兴的花卷  ·  新大头儿子4:大头啃墙上的糖果,完美爸爸太宠 ...·  2 年前    · 
Code  ›  延迟执行的,PHP最优解决方案开发者社区
云计算 社区功能
https://cloud.tencent.com/developer/article/1055209
内向的脸盆
2 年前
作者头像
wangxl
0 篇文章

延迟执行的,PHP最优解决方案

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > PHP在线 > 延迟执行的,PHP最优解决方案

延迟执行的,PHP最优解决方案

作者头像
wangxl
发布 于 2018-03-08 15:37:40
985 0
发布 于 2018-03-08 15:37:40
举报

讲一下我们公司的业务吧。

我们公司是当前市面上最火热,最热辣的O2O。为了解决这一块问题,我们公司针对附近3.5KM的任务来进行派活。如果5分钟内,有附件的商家在接活这个活就是商家的。

如果附件的商家没有接活呢?这样用户体验不就很不好吗?所以说,我们有专门的派单的业务员。只要5分钟没人接的活,会有专门的跑腿 业务员来完成对应的工作。

所以,转换成技术语言就变成这样了:

用户派出一个活,通过IM( 即时通信 )系统发给商家。如果这个活被人接了,接单请求给到API。进入至交易状态。

如果这个活没有被人接,用户也没有给出反馈,怎么办?难道用线程去解决。如果中间 服务器 挂了呢?所以这种方案不可考。

我们想了几套不同的实线方案:

1,自己写时间服务器,缺点周期长,不好维护不同的一致性hash

2,用zookeeper来维护一致性,做好时间服务器,在指定时间后执行指定的脚本。

3,用redis 配合python或者lua来实现

4,有没有分布式的延迟队列系统

最后的讨论结果如下:

1,自己写服务器方案这个项目周期太短,方案1和方案2淘汰【淘汰】

2,用redis配合python或者是lua来实现的话效率太低【淘汰】

3,最后我们选择了aliyun的MQS,具有分布式和延迟通知的特点。当然你不想花钱的话,也可以自己架具有延迟、分布式功能的队列服务【选择】

最终实现的过程:

1,用户派单后,向队列中写入一个任务,将队列中延迟执行设为5分钟

2,商家接单了,反向通知API,将队列中的延迟任务删除

3,如果商家没有接单,到达5分钟客户端就自然结束显示

4,服务器端到达了5分钟,开始执行延时队列里面的任务,向自己公司的派单元派单,并且在客户界面中推送接单成功的消息。

完美解决。

PHP学院网友投稿,转载请注明来源。http://www.phpxy.com

本文参与 腾讯云自媒体分享计划 ,分享自微信公众号。
原始发表:2016-06-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除
php
云数据库 Redis

本文分享自 php 微信公众号, 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

php
云数据库 Redis
评论
登录 后参与评论
0 条评论
热度
最新
登录 后参与评论
关于作者
wangxl
悠悠科技研发工程师
0
文章
0
累计阅读量
0
获赞
前往专栏
  • 社区

    • 专栏文章
    • 阅读清单
    • 互动问答
    • 技术沙龙
    • 技术视频
    • 团队主页
    • 腾讯云TI平台
  • 活动

    • 自媒体分享计划
    • 邀请作者入驻
    • 自荐上首页
    • 技术竞赛
  • 资源

    • 技术周刊
    • 社区标签
    • 开发者手册
    • 开发者实验室
  • 关于

    • 社区规范
    • 免责声明
    • 联系我们
    • 友情链接

腾讯云开发者

扫码关注腾讯云开发者

扫码关注腾讯云开发者

领取腾讯云代金券

热门产品

  • 域名注册
  • 云服务器
  • 区块链服务
  • 消息队列
  • 网络加速
  • 云数据库
  • 域名解析
  • 云存储
  • 视频直播

热门推荐

  • 人脸识别
  • 腾讯会议
  • 企业云
  • CDN加速
  • 视频通话
  • 图像分析
  • MySQL 数据库
  • SSL 证书
  • 语音识别

更多推荐

  • 数据安全
  • 负载均衡
  • 短信
  • 文字识别
  • 云点播
  • 商标注册
  • 小程序开发
  • 网站监控
  • 数据迁移

Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有

深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569

腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287

问题归档 专栏文章 快讯文章归档 关键词归档 开发者手册归档 开发者手册 Section 归档

Copyright © 2013 - 2023 Tencent Cloud.

All Rights Reserved. 腾讯云 版权所有

登录 后参与评论
 
推荐文章
烦恼的核桃  ·  Android图片加载框架最全解析(一),Glide的基本用法开发者社区
1 月前
坚韧的松鼠  ·  前沿 | GAN用于材料设计:哈佛大学新研究登上Science开发者社区
1 月前
耍酷的生菜  ·  无“陷”孕育一件事讲解专场问答专栏-龙华政府在线
4 月前
深沉的黄瓜  ·  咚漫优选漫画作品火热上线,精雕细琢全力打造经典IP_读者
2 年前
千年单身的生姜  ·  同姓不同命!五菱汽车难“沾”新能源之光_搜狐汽车_搜狐网
2 年前
个性的汉堡包  ·  搜索结果_BL鍔ㄦ极 濂宠姝eお(my pico) 鏃爉 鍏%
2 年前
高兴的花卷  ·  新大头儿子4:大头啃墙上的糖果,完美爸爸太宠他了,什么都给他_哔哩哔哩_bilibili
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号