84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
队列异步执行的时候是无法使用SESSION的,那么登录还能使用队列吗?如果能如何处理cookie和session的对应关系?
走同样的路,发现不同的人生
録画中にキューを使用できますか?
通常、ログインは同期プロセスです。キューを使用することは不可能ではありませんが、複雑さが増します。
同期ログイン プロセスでは、データベースを読み取り、正しいアカウントとパスワードを決定し、セッションをセットアップします。これは 1 つの HTTP リクエストで完了できます。
非同期に変更するには以下の方法しか思いつきません:
クライアントはランダムトークンを生成します
クライアントはトークン、アカウント番号、パスワードをサーバーに送信します
サーバーはこのトークンを Redis に記録しますが、正常にログインしていません
サーバーはトークン、アカウント、パスワードを処理のためにキューに入れます
キュー処理。アカウントが正しい場合、redis 内のトークンは成功としてマークされ、そうでない場合は失敗としてマークされます
サーバーとキューの処理中に、クライアントは別のインターフェイスを使用して、トークンのログインが成功したかどうかをポーリングし続けます。成功した場合は、後続のすべてのリクエストでトークンが取得されます。成功しない場合、クライアントのログインは失敗します。
そのため、同期ログインプロセスはできるだけ早く完了する必要があり、ログイン後に必要な一部の操作 (電子メール通知の送信など) は、ログインプロセス全体ではなくキューに入れる必要があります。
通常、ログインは同期プロセスです。キューを使用することは不可能ではありませんが、複雑さが増します。
同期ログイン プロセスでは、データベースを読み取り、正しいアカウントとパスワードを決定し、セッションをセットアップします。これは 1 つの HTTP リクエストで完了できます。
非同期に変更するには以下の方法しか思いつきません:
クライアントはランダムトークンを生成します
クライアントはトークン、アカウント番号、パスワードをサーバーに送信します
サーバーはこのトークンを Redis に記録しますが、正常にログインしていません
サーバーはトークン、アカウント、パスワードを処理のためにキューに入れます
キュー処理。アカウントが正しい場合、redis 内のトークンは成功としてマークされ、そうでない場合は失敗としてマークされます
サーバーとキューの処理中に、クライアントは別のインターフェイスを使用して、トークンのログインが成功したかどうかをポーリングし続けます。成功した場合は、後続のすべてのリクエストでトークンが取得されます。成功しない場合、クライアントのログインは失敗します。
そのため、同期ログインプロセスはできるだけ早く完了する必要があり、ログイン後に必要な一部の操作 (電子メール通知の送信など) は、ログインプロセス全体ではなくキューに入れる必要があります。