首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
求教jFinal的高并发场景解决方案
nbjgl
2019-01-02 13:50
新加入的用户会先从数据库中查询两个排队等待的用户,如果查到了则三个人匹配为一组,否则将当前用户在数据库中标记为排队等待状态。
高并发情况下,如何保证同一个用户不会被匹配到两个组内?
项目:
JFinal
评论区
宋人无本奏
2019-01-02 15:09
一看就是组团啊666
回复
杜福忠
2019-01-02 16:39
如果是我设计的话:
1先让用户进行“加入”,标记为未组团。返回给前端为“组团中。。。”
2通过定时任务解析未组团的用户分页信息,一页一线程任务,本页用户按规则3人进行分组。
3通过短信或者站内信微信邮件等方式告知组队信息,前端轮询也可以
回复
nbjgl
2019-01-02 18:11
@宋人无本奏
错了,是斗地主,^_^
回复
nbjgl
2019-01-02 18:11
@杜福忠
这个思路不错,只是JFinal定时任务只能精确到分钟,这个是实时在线游戏,不能等一分钟吧……
回复
杜福忠
2019-01-03 09:36
@nbjgl
比如写个独立线程 一直循环处理呗,不一定非得用某个插件, 或者写法, 根据实际情况来呗, 主要是提供一个处理方案和思路, 不要被某个具体东西束缚你的思维
回复
宋人无本奏
2019-01-03 09:57
@nbjgl
兄弟,你给我说斗地主!!!!
回复
lgk_l
2019-01-08 16:51
加个乐观锁即可
回复
shenyao
2019-01-08 17:14
countdownlatch。不过仅适用于一个jvm的情况,多个jvm就要考虑redis加锁了
回复
发送
我要反馈
热门反馈
扫码入社