电影选座,基于 swoole 时时更新数据,是否可以这样做呢

2018-01-05 20:44:48 +08:00
 wq67200976

描述: 1.用户 A 访问选座页面,和服务器建立连接,通知 socket 服务器,然后从数据库拿到已购买的座位 ID,返回给客户端,客户端进行座位锁定。(此步骤之前是通过 ajax 轮询查询数据库拿到座位 ID,进行锁定)。

2.用户 B 选择座位下单,此时新的订单入库,用户 A 的页面如何更新座位数据,是不是在用户 B 下单后,并且订单信息插入数据库后,再去拿到当前已经和 socket 建立连接 ID,然后推送座位信息。把刚刚购买的座位推送给客户端。

问题: 我上面描述的并没有涉及提交订单 15 分钟后如果没有支付,那选择的座位将被释放。只是想先把 socket 这块的逻辑走通,建立长连接,时时更新座位信息,我上面这样的逻辑正确吗,如果不是这样,烦请各位帮忙提供些思路呢。

2867 次点击
所在节点    PHP
7 条回复
elarity
2018-01-05 22:30:06 +08:00
应该没啥问题 , 干吧 。觉得数据库慢 , 可以直接走 redis
winglight2016
2018-01-06 10:08:47 +08:00
你放心吧,项目一开始没什么用户的,用轮询也没问题,说不定上线没几天项目就黄了~~~

真想磨练自己的技术,就用 websocket+redis 保持前端和后台的状态一致
jun0205
2018-01-06 10:15:13 +08:00
选座搞实时没什么太大用吧。
wq67200976
2018-01-06 16:20:30 +08:00
@winglight2016 哈哈,的确没什么用户,其实主要还是想磨练技术,优化优化现有代码。
wq67200976
2018-01-06 16:22:11 +08:00
@jun0205 这不还是想提升提自己,把现有代码优化优化呢。
wq67200976
2018-01-06 16:22:25 +08:00
@elarity 嗯嗯 开搞
Liang
2018-01-06 20:23:57 +08:00
提交订单的时候再查一次就可以了,合并一开始就搞得太复杂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/420459

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX