amazon-web-services - 部署新应用时保持会话
问题描述
在Elastic Beanstalk中部署新的应用程序版本时,我想保持旧实例运行直到会话过期。我的意思是:新版本将处理新会话,而旧版本继续运行,处理旧会话。有可能吗?
顺便说一句:会话粘性已启用。
解决方案
您将如何处理一个非常长寿的会话?如果某人的会话持续了几个小时,您是否希望一直保留旧服务器,直到该用户注销?
如果您只是想防止用户因部署而被注销(即防止他们的会话被重置),那么我建议将会话存储在 Elastic Beanstalk 之外,例如在 DynamoDB 或 Redis 中。根据您的编程语言和 Web 服务器,应该有一些库可用于完成此任务。
您可以选择多个Elastic Beanstalk 部署选项。流量拆分听起来最接近您正在寻找的内容。然而,这些主要处理在部署期间保持服务器处理流量,并在完成部署之前测试新版本。在会话到期之前,它们不会在一台服务器上维护用户会话。
推荐阅读
- node.js - 如何从同一 Firebase 项目之外的 Web 应用程序查询 Firestore 数据库
- css - 添加填充而不影响其他菜单项
- excel - 如何将多列中的数据合并到一个列组中
- haskell - Haskell - 字符递归列表
- javascript - 如何遍历对象数组并将键值作为字符串的一部分返回
- php - HTTP响应内容解析
- javascript - 我怎样才能到达数组内的对象,mylist = [{whole:'thing',code:'a'},{whole:'thing2',code:'b'}]
- javascript - Async\Await with promise 无法正常工作
- php - 警告:http_build_query():参数 1 应为数组或对象 whm api
- html - 使用 CSS 设置 vue 模板样式的问题