- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 RoR Web 应用程序(带有 mysql),它在多个相同的服务器上进行负载平衡。该应用程序需要 cookie 和 session 才能运行。
目前,客户端始终路由到负载均衡器后面的同一服务器,如果该服务器被关闭,客户端将被路由到不同的服务器,并且它们的 session 将结束。
当前架构的负载均衡器只会对同一数据中心内的机器进行负载均衡。我想使用多个数据中心,通过 DNS 循环在地理上实现负载平衡,并提供额外的冗余。
如果我要在 RoR 应用程序中打开 ActiveRecordStore 以进行 session 存储,这应该可以解决上述问题,客户端可以路由到每台服务器,并且它们的 session 将完好无损。这是正确的吗?
使用 ActiveRecordStore 进行 session 是否会产生严重后果?
最佳答案
快速回答:鉴于所有数据中心的所有服务器都与同一个数据库通信,是的,这可以解决您遇到的问题。
后果:这里明显的问题是来自不同数据中心的所有服务器都通过数据库与一个数据中心进行通信。这是非常低效的,因为它抵消了将应用程序分发到不同数据中心所带来的大部分 yield 。您当然可以尝试通过互联网复制 mysql,但这可能会导致数据最终保持一致,这意味着在切换服务器时,用户可能仍然面临无效 session 。
替代方案:用于存储 session 的全局分布式存储(有点像 cassandra 环或 riak)可能会工作得更好,因为这些数据库旨在保持同步并提供对数据的一致访问。
关于ruby-on-rails-3 - 使用 ActiveRecordStore + 粘性 session 的 RoR Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546471/
我最近一直在使用 cookie 存储,我想过渡到事件记录存储。但是,我不断收到无效的真实性 token 。删除我的 cookie 后,我可以正常访问该页面,但我不希望所有用户访问我的页面,出现一个巨大
我正在 中共同开发一个简单的网络应用程序 rails 3.0.9 我已经意识到可能通过恶意请求篡改 session_id。请注意,这是我的第一个 RoR 应用程序,所以我的概念可能完全错误。 当前的应
我有一个 RoR Web 应用程序(带有 mysql),它在多个相同的服务器上进行负载平衡。该应用程序需要 cookie 和 session 才能运行。 目前,客户端始终路由到负载均衡器后面的同一服务
我是一名优秀的程序员,十分优秀!