会话复制的优点和缺点

我真的需要会话复制吗?

我正在为一家公司开发一些Web项目。 大部分的项目大概是一两页的input,然后保存到一个mysql数据库。 非常基本的项目。 我的SA正在努力尝试在JBoss中获得会话复制的工作,但是我并没有真正看到它的任何需求和所有的开销。

我们需要负载平衡和集群,所以如果服务器停机,我们可以将新的请求移动到备份服务,但我不会在会话复制中大。

这是非常低的量项目。 在我看来,当服务器停留在一两页时,用户在项目中的几率是多less。

我需要说服SA在这种情况下会话复制是不必要的复杂性。 我正在寻找会话复制的优点和缺点,以便更好地构build我的观点。

这听起来像你是pipe理员正试图提供一个容错环境,以便如果一台服务器下线,用户将不会经历任何明显的变化。 这也可能是出于维护的原因,以便他们可以在其中一台服务器上工作而不影响其他服务器。

在这种情况下,应用程序和Web服务器将不得不提供某种抽象会话复制或caching来存储会话信息,以防初始服务器响应脱机。

从本质上来说,这可以防止您的用户从应用程序中被转储出来,并且不得不重新login。

正如John在上面提到的,这真的归结为业务需求,如果需要高可用性,那么在这个问题上你实在别无select。 无论哪种方式,实现会话卸载到数据库或分布式内存中caching通常不是一个大的开销,也不难实现。

这个问题可以追溯到我的一个商业理由 – 什么是应用程序SLA? 如果您的SLA表示在主服务器升级并强制重新启动客户端后,您可以花5到10秒完成故障转移到辅助服务器,那么可以使用复制工作。 如果您的SLA说您有0.5秒的时间从故障中恢复和/或您不允许强制重新启动会话,那么让SA复制工作并使用它。

“我们需要负载平衡和集群化”向我build议,你的SLA是这样的,你也需要会话复制,但这只是我阅读的东西。