我计划使用2个专用根服务器租用一个托管服务提供商。这些机器的运行tomcat6在一个集群。如果我将增加额外机以后-这是不可能的,他们将可以访问有多播,因为它们将位于不同的子网。

是否可以运行tomcat没有播?所有教程tomcat6集群包括播的心跳。是否有任何替代办法SimpleTcpCluster?

或是其他替代办法更加适当,在这种情况呢?

有帮助吗?

解决方案

由于无法控制两台服务器之间的距离(它们可能位于两个不同的数据中心),也没有专用的服务器间通信线路,我宁愿通过循环DNS或负载均衡器将客户端重定向到www1.yourdomain.xxx或www2.yourdomain.xxx并仔细处理服务器通信。

如果服务器彼此之间进行大量通信,您可能会改变您的架构,优化应用程序中的“适合”状态。在一台服务器上(至少有一段时间)或者去专用主机,控制服务器的位置,距离和布线。否则,您的服务器间通信,心跳等将使用与正在与之通信的客户端(例如,相同的网段)使用相同的信道,这可能减慢每个人的速度。

如果你真的期待那么大的负担,我想至少有一些钱涉及,不是吗?明智地使用它并使用您的设置技能来解决问题比设置没有控制或专用线路的分布式群集更困难。

其他提示

看到的评论的问题之后给我其他的答案我很疑惑你的问题是...这是关于会议的复制?集群的沟通?它可能是更好的状态问题,而不是你的计划解决方案问题本身。

我国一些可能的问题一起快速的答案:

你用的是中央处理器/RAM密集型的

  • 配置文件,优化它,再试一次
  • 买一个更大更好的服务器

你带宽密集型应用程序是

  • 使用的廉价聚集你所提到的,在你的问题将很可能让它更糟糕的是,如同(伪装)通道被用于服务器间-通信作用的客户机-服务器的通信
  • 你可能能够单独的不同种类的带宽,例如通过具有动态的内容提供不同的服务器上的静态内容:不需要服务器间-通信在这里

你的存储密集型应用程序是

  • 得到一个较大的服务器
  • 去为专用的托管及适合在许多纺磁盘作为你的需要
  • 看看是否其他模型(如亚马逊S3的储存)也许对你的工作)

你的应用是有可能slashdotted

  • 确定上述因素(或其他人)有确定的限制应用程序,解决这个问题。

你只需届会议复制?

  • 雄猫SessionManager口小,可以很容易地可以实现的/扩展自己。它用于任何一届会议的复制你喜欢。看看 StandardManager 文件和执行情况的更多信息

更多的想法

  • 看看更多的灵活设置喜欢EC2(亚马逊),谷歌产品或其他云计算的设置。使用他们自己的云的存储和服务器间-通信设施。要小心,不要太依赖这种基础设施。

我肯定已经忘记了一些东西,但是这可能会提供一些起点。更加具体的性质的潜在问题得到更好的答案:)

我正在尝试部署耶鲁中央身份验证服务器(CAS),我想将其集群以实现冗余,因为这是一个关键的基础架构。 CAS要求复制会话,因为在用户登录应用程序A并导航到参与单点登录域的应用程序B后,应用程序B向CAS发送请求以确定用户是否具有活动“票证” 。由于没有设备可以向应用程序B指示它应该向哪个节点发送以验证票证,因此必须将一个节点中的所有活动票证复制到集群中的所有节点。换句话说,会话粘性在这里不是解决方案,因为应用程序B在用户cookie中验证票证时,不知道用户登录的应用程序A中原始会话的sessionId。

因此,CAS要求在所有节点之间复制会话。网络支持多播的要求增加了非常微不足道的开销,并且使这种方法的部署更加重要。我在谷歌代码测试了这个项目:

http://code.google.com/p/memcached-session-manager

这似乎非常有用且易于部署(至少在Linux操作系统上),但不幸的是只提供了会话故障转移,而且不是会话复制解决方案。

只需使用 http://code.google.com/p/memcached-session -manager / 。它很棒。我们使用它多年来进行此设置,共享20个Tomcat服务器。您可以使用一个或两个memcached服务器来处理会话复制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top