【问题标题】:Using of Spring Security in Cloud & autoscaling of web application在云中使用 Spring Security 和 Web 应用程序的自动缩放
【发布时间】:2014-11-07 08:56:50
【问题描述】:

某些 Web 应用程序由 Sp​​ring 4.0 框架管理,Spring Security 3.2 还用于通过记住我功能对用户进行身份验证。 记住我和安全是通过 JDBC 支持实现的(需要的数据保存在数据库中)。 使用了很多 Spring Bean,它们被创建为“spring”singletons

此 Web 应用程序在 TOMCAT7 Servlet Container 中运行,该容器安装在“经典”主机服务器中。

此 Web 应用程序将在 TOMCAT7 中的生产环境中运行,由某些云提供商管理 - 在 AWS Elastic BeanstalkEC2 Instance 中直接安装带有 自动缩放功能

的 TOMCAT

这意味着,一开始只运行 一个 EC2 实例,该实例运行 TOMCAT 服务器 1。该服务器已初始化 Spring Beans,并保存在 JVM 1 中。

但在“高峰时间”,EC2 的第二个实例将启动。 TOMCAT2 服务器也将启动。

如果负载均衡器在 TOMMCAT2 启动后将 user1 的请求路由到 TOMCAT2,是否有可能在 TOMCAT1 上首先通过身份验证的 USER1 在身份验证和在 WEB 应用程序中实现的其他业务操作存在问题? ??

我不知道,Spring 4.0 还是 Spring Security 默认是无状态的。

【问题讨论】:

    标签: spring amazon-ec2 cloud amazon-elastic-beanstalk


    【解决方案1】:

    您可以考虑为您的应用程序使用 Elastic Load Balancer 粘性会话。

    在此处阅读有关使用粘性会话的信息:

    http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

    在此处阅读有关在 Elastic Beanstalk 中使用粘性会话的信息:

    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.elb.html

    在此处阅读粘性政策:

    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html

    【讨论】:

    • 如果会使用粘性会话,那么一些客户端会丢失会话并需要重新登录。如果负载均衡器将客户端路由到应用服务器,则失败。
    猜你喜欢
    • 1970-01-01
    • 2016-03-28
    • 2014-08-08
    • 2016-02-07
    • 2021-06-30
    • 1970-01-01
    • 2018-08-03
    • 2014-05-30
    • 2019-09-16
    相关资源
    最近更新 更多