具有会话或JWT的节点用于大型用户群应用程序?

问题描述 投票:1回答:1

我正在建立一个生产网站,并计划拥有大量具有不同角色的用户。我目前的做法是redis / sessions容器化自动扩展Elastic beanstalk部署。但是,随着用户的增加,使用JWT会更明智,最具成本效益吗?这听起来不错,但它在本地存储中的想法似乎是存在很大的安全风险?我只是想把它建立起来以便在以后保存头痛。

node.js redis jwt session-cookies role-based-access-control
1个回答
1
投票

对于初学者,请考虑JWT不是会话存储的替代品。移动到JWT后,您需要在其他地方存储任何会话状态数据。 JWT将通过声明为您提供身份验证和授权。令牌本身已签名,因此您可以并且应该验证签名以确保真实性。 JWT适用于无状态应用程序,SPA应用程序或跨应用程序身份验证。

其次,考虑您希望扩展到多大。使用Redis进行会话存储很可能会在您需要更多内容之前将其带走。预计限制将超过1k req / sec。那时候,很可能你的架构中还有很多问题需要解决。跨多个Redis实例对会话进行分片也是增长的选择。

在此期间,优化会话存储的使用。不要过度使用它超越auth。你做的越多,向JWT迁移的痛苦就越大。

最后的一些想法:做你的研究。不要过早优化。但是你的头脑是在正确的位置思考它。

© www.soinside.com 2019 - 2024. All rights reserved.