会话复制的优点和缺点

会话复制的优点和缺点

我真的需要会话复制吗?

我正在为一家公司开展一些 Web 项目。大多数项目都是一两页的输入,然后保存到 mysql 数据库。非常基础的项目。我的 SA 正在努力尝试在 JBoss 中实现会话复制,但我真的不认为这有任何必要,也不认为这会产生所有开销。

我们需要负载平衡和集群,所以如果服务器确实出现故障,我们可以将新的请求移至备份服务,但我对会话复制不太在行。

这是非常小规模的项目。在我看来,如果服务器在一两个页面上宕机,用户继续参与该项目的可能性有多大?

我需要说服 SA,在这种情况下,会话复制是一种不必要的复杂因素。我正在寻找会话复制的利弊,以便更好地组织我的论点。

答案1

在我看来,您的管理员似乎正在尝试提供一个容错环境,这样如果一台服务器离线,用户将不会感受到任何明显的变化。这也可能出于维护原因,以便他们可以在其中一台服务器上工作而不影响其他服务器。

在这种情况下,应用程序和 Web 服务器必须提供某种抽象的会话复制或缓存,以便在初始服务器响应离线时存储会话信息。

本质上,这可以防止您的用户被从应用程序中移除并需要再次登录。

正如 John 上面提到的,这实际上取决于业务需求,如果需要高可用性,您真的别无选择。无论哪种方式,将会话卸载到数据库或分布式内存缓存通常不会带来很大的开销,也不会很难实现。

答案2

这个问题对我来说又回到了一个商业争论——应用程序的 SLA 是什么?如果您的 SLA 规定您可以在主服务器恢复后花 5 到 10 秒完成到辅助服务器的故障转移,并强制在客户端重新启动会话,那么复制工作就白费了。如果您的 SLA 规定您有 0.5 秒的时间从故障中恢复和/或您不允许强制重新启动会话,那么让 SA 让复制工作正常并使用它。

“我们需要负载平衡和集群”在我看来意味着您的 SLA 也需要会话复制,但这只是我的解读。

相关内容