描述: 1.用户 A 访问选座页面,和服务器建立连接,通知 socket 服务器,然后从数据库拿到已购买的座位 ID,返回给客户端,客户端进行座位锁定。(此步骤之前是通过 ajax 轮询查询数据库拿到座位 ID,进行锁定)。
2.用户 B 选择座位下单,此时新的订单入库,用户 A 的页面如何更新座位数据,是不是在用户 B 下单后,并且订单信息插入数据库后,再去拿到当前已经和 socket 建立连接 ID,然后推送座位信息。把刚刚购买的座位推送给客户端。
问题: 我上面描述的并没有涉及提交订单 15 分钟后如果没有支付,那选择的座位将被释放。只是想先把 socket 这块的逻辑走通,建立长连接,时时更新座位信息,我上面这样的逻辑正确吗,如果不是这样,烦请各位帮忙提供些思路呢。
1
elarity 2018-01-05 22:30:06 +08:00
应该没啥问题 , 干吧 。觉得数据库慢 , 可以直接走 redis
|
2
winglight2016 2018-01-06 10:08:47 +08:00 1
你放心吧,项目一开始没什么用户的,用轮询也没问题,说不定上线没几天项目就黄了~~~
真想磨练自己的技术,就用 websocket+redis 保持前端和后台的状态一致 |
3
jun0205 2018-01-06 10:15:13 +08:00 via Android
选座搞实时没什么太大用吧。
|
4
wq67200976 OP @winglight2016 哈哈,的确没什么用户,其实主要还是想磨练技术,优化优化现有代码。
|
5
wq67200976 OP @jun0205 这不还是想提升提自己,把现有代码优化优化呢。
|
6
wq67200976 OP @elarity 嗯嗯 开搞
|
7
Liang 2018-01-06 20:23:57 +08:00 via iPhone
提交订单的时候再查一次就可以了,合并一开始就搞得太复杂
|