84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
队列异步执行的时候是无法使用SESSION的,那么登录还能使用队列吗?如果能如何处理cookie和session的对应关系?
走同样的路,发现不同的人生
录还能使用队列吗?
登录通常是个同步过程,用队列不是不行,只是会增加复杂性。
同步的登录过程就是读数据库,判断账号密码正确,设置session,能在一个HTTP请求里搞完。
换成异步,我只能想到下面这种方法:
客户端生成随机token
客户端把token、账号、密码发给服务器
服务器在redis中记录这个token还没登录成功
服务器把把token、账号、密码放到队列处理
队列处理,如果账号正确,redis中的token标记为成功,否则标记为失败
客户端在服务器和队列处理的过程中一直用另一个接口轮询看token是否登录成功,成功的话以后的请求都带上token,否则客户端登录失败。
所以应该尽快完成同步的登录过程,把登录后需要的一些操作(发邮件通知等等)放队列,而不是把整个登录过程放队列。
登录通常是个同步过程,用队列不是不行,只是会增加复杂性。
同步的登录过程就是读数据库,判断账号密码正确,设置session,能在一个HTTP请求里搞完。
换成异步,我只能想到下面这种方法:
客户端生成随机token
客户端把token、账号、密码发给服务器
服务器在redis中记录这个token还没登录成功
服务器把把token、账号、密码放到队列处理
队列处理,如果账号正确,redis中的token标记为成功,否则标记为失败
客户端在服务器和队列处理的过程中一直用另一个接口轮询看token是否登录成功,成功的话以后的请求都带上token,否则客户端登录失败。
所以应该尽快完成同步的登录过程,把登录后需要的一些操作(发邮件通知等等)放队列,而不是把整个登录过程放队列。