首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理多个帐户服务器上的会话/同时水平缩放?

如何处理多个帐户服务器上的会话/同时水平缩放?
EN

Stack Overflow用户
提问于 2019-07-01 17:54:43
回答 1查看 712关注 0票数 3

我正在开发一个web应用程序,并且想要正确地使用它,所以我在脑海中保留了可伸缩性。困扰我的一件事是如何处理多台服务器上的会话。

简短示例:

假设Anna登录我的网页,负载平衡器将她重定向到服务器X服务器X存储Anna的会话数据,在Anna关闭网页后不久。

大约10分钟后,Anna再次打开页面,并被重定向到服务器Y。她的治疗应该还活着。

你怎么知道是她?

代码语言:javascript
复制
  │
  ├── Anna ─> load-balancer ─> Server X ─> Session Data on X
  │
10 mins pass
  │
  └── Anna ─> load-balancer ─> Server Y ─> How to get session data on X?
  • 是否有可能无会话地提供经过身份验证的api请求?
  • 在中央数据库中存储会话数据是最佳实践吗?
  • 还有另一个常见的解决方案,我可能不知道如何寻找?

我对任何答案都非常满意,尤其是在节点/快递应用程序的上下文中。总的来说,我正在寻找最佳实践解决方案,因为我渴望学习。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-01 18:42:38

对于这个场景,有一些选项可以检查:

  1. 如果您需要存储访问令牌(oauth),您可以使用redis,一个快速的数据库来检查每个请求中的任何Node.js服务器(https://redis.io)的令牌。
  2. 您可以使用JWT,在这种情况下,由于计算符号(https://www.npmjs.com/package/jsonwebtoken),令牌是安全的。
  3. 使用粘性会话,在这种情况下,每个用户请求都会转到同一台服务器。不建议

对于步骤1和步骤2,可以在http授权头中发送令牌

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56840265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档