首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在弹性Beanstalk中维护会话

在弹性Beanstalk中维护会话
EN

Stack Overflow用户
提问于 2013-09-07 18:51:51
回答 7查看 5.1K关注 0票数 5

因为Amazon Elastic Beanstalk中的实例数量会不断变化。如果应用程序是用PHP构建的,如何在多个实例之间维护会话?如何确保不删除父实例(应用程序启动时的第一个实例

EN

回答 7

Stack Overflow用户

发布于 2013-09-08 02:36:20

AWS博客上的这篇文章描述了如何使用DynamoDB通过AWS SDK for PHP进行会话状态处理。

http://aws.typepad.com/aws/2012/04/scalable-session-handling-in-php-using-amazon-dynamodb.html

票数 9
EN

Stack Overflow用户

发布于 2013-09-09 05:31:42

如果应用程序是用PHP构建的,如何在多个实例之间维护会话?

不是的。弹性Beanstalk不会维护多个实例之间的会话。您必须自己维护多个实例之间的会话。如果您启用了弹性负载均衡会话粘性,则只会确保将您的用户转发到同一实例。

如何确保不删除父实例(应用程序启动时的第一个实例

Elastic Beanstalk Auto Scaling使用Default Termination Policy,它将首先销毁最旧的实例。您可以修改弹性Beanstalk弹性伸缩销毁策略,避免先销毁最老的实例。

票数 3
EN

Stack Overflow用户

发布于 2016-12-06 03:20:40

下面是关于如何使用DynamoDB和Tomcat配置持久会话的教程。https://packageprogrammer.wordpress.com/2014/01/13/aws-elastic-beanstalk-and-dynamodb-session-manager-for-tomcat/

亚马逊网络服务项目:https://github.com/aws/aws-dynamodb-session-tomcat

使用DynamoDB管理Tomcat会话状态:http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-tomcat-session-manager.html

以上链接中的关键摘录。请注意,由于本教程使用的是aws-dynamodb-session-tomcat的Tomcat 7和1.0.1,因此您可能更改了版本号

Tomcat的配置

从Tomcat下载AmazonDynamoDBSessionManagerForTomcat-2.0.4.jar并将其复制到aws-dynamodb-session-tomcat安装的lib目录中编辑context.xml以使用带有代码的.jar:

代码语言:javascript
运行
复制
<?xml version='1.0' encoding='utf-8'?>
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <Manager className="com.amazonaws.services.dynamodb.sessionmanager.DynamoDBSessionManager"
             createIfNotExist="true" />
</Context>

弹性豆茎配置

aws-dynamodb-session-tomcat下载AmazonDynamoDBSessionManagerForTomcat-2.0.4.jar发布并复制到您的WAR的.ebextensions目录中使用下面的代码编辑context.xml并复制到您的WAR的.ebextensions目录中的.ebextensions目录(记住它必须在/WEB-INF目录中,对于grails应用程序是/web-app ),创建一个.config文件来编写执行context.xml替换的命令,并将jar复制到Beanstalk实例中。

代码语言:javascript
运行
复制
container_commands:
  01-copy-aws-library:
    command: "cp WEB-INF/.ebextensions/AmazonDynamoDBSessionManagerForTomcat-2.0.4.jar.jar /usr/share/tomcat8/lib/"
  02-replace-tomcat-context:
    command: "cp WEB-INF/.ebextensions/context.xml /etc/tomcat8/context.xml"

现在,只需上传并部署包含更改的war。尝试登录并进入亚马逊网络服务控制台->服务->DynamoDB,查找一个名为Tomcat_SessionState的表。你有亲和力和毅力!

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

https://stackoverflow.com/questions/18672541

复制
相关文章

相似问题

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