登录系统设计 - Arch1tect/chatbox-webpack GitHub Wiki
目前聊天系统只有用户发邀请时会联系数据库,登录时也应该联系数据库查看用户信息。 目的如下:
- 用户积分 < 0 则不允许进入聊天系统
- 查看用户是否有头像
- 用户注册时间短则增加一些限制。
聊天系统联系数据库比较耗时,在socket login的时候发生,将信息存在内存之中,保存10分钟?因为信息不新鲜,用时需谨慎,不应该用来查积分。 500人在线,服务器断线,没了缓存,所有人重连,要查500次数据库。。。这个应该batch操作。(实际上发现并发并没有那么多) 平时断线断线重连与正常的网页刷新,600人也只有1 rps
更新
设计完整的登录系统,包括密码验证。 页面打开,如果chatbox iframe生成,那么查看本地是否有token,如果有:
- 每个db api call 都带上token
- socket login event 发送token
如果没有:
发送本地的数字id + 密码去/db/login拿到token存在本地
如果验证失败怎么办?用户需要去登录界面。。。
自动登录 提醒登录失败
用户发起的登录 提醒登录失败