我目前正在设计一个基于 MVC 的新网站,我想知道管理状态的正确方法是什么。
状态应该包含 userId 和用户信息的一些结构,并且应该在用户登录的整个会话期间保持(跨 http 请求)
重要标准:
1) 支持可扩展性
2) 性能
最简单的方法是使用 Session 对象,但它不支持可伸缩性。如果会话期间的不同请求通过不同的 IIS 服务器,则不会保留会话。虽然我听说过负载平衡工具通过同一台机器路由单个会话的所有请求,但我不确定依赖它是否是一个好习惯(不是吗?)
我读过的另一个选择是将状态数据保存在运行 RAM DB 的特殊状态服务器中(如 Linux 的 Cassandra 或 Windows 的 Redis)。但在我看来,在开发的这个阶段有点矫枉过正。
你有什么其他的建议?我想从现在简单的东西开始,但要为将来更高级的解决方案做好准备。
任何最佳实践或代码/设计建议将不胜感激。
谢谢,
艾迪。