由于自动缩放不允许缓冲期和/或不够智能,不能只允许“新请求”进入由于自动缩放而计划关闭的实例,因此我试图避免使用粘性-ELB 提供的会话。否则,这种行为会给一些客户留下登录屏幕。
该网站和其他 RESTful Web 服务在 IIS7 中运行。该网站正在使用基于经典表单的身份验证(MVC3 中的内置成员资格提供程序),但很快将迁移到自定义成员资格提供程序以查看 cookie 并解密然后给出判断。RESTful Web 服务已经在使用自定义成员资格提供程序。
在这种情况下,我认为对于该网站,如果不通过其 ELB 使用粘性会话,我将无法通过。
RESTful Web 服务的 ELB 可以配置为非粘性,因为它们单独观察每个请求上的 cookie,以查看是否存在具有某些加密值的身份验证令牌。但是,这里的问题是 FormsAuthentication.Enrypt 和 FormsAuthentication.Decrypt 方法,它们在后台使用 MachineKeys。对 ?!如果不是,那么它不是问题,但是如果他们这样做了,那么如何在 EC2 中的自动缩放实例之间同步机器密钥?