Architecture 用于故障切换的单点访问

Architecture 用于故障切换的单点访问,architecture,failover,terracotta,Architecture,Failover,Terracotta,这正是我想要实现的目标,但我对这个主题还不够熟悉,所以请容忍我:) 我有一个服务器,一些设备连接到该服务器,并定期上传一些数据。 通信是通过普通TCP套接字完成的,使用我们为速度和效率而设计的专有协议。每一个这样的连接基本上都是一个会话,只要设备保持连接,会话就会打开。我现在需要的是(1)设计故障切换机制和(2)扩展。一旦第一个实例出现故障,就会有另一个服务器节点来接管。我一直在看Terracotta做一个轻量级集群。但我不明白的是,设备如何知道为第二个节点运行??我可能会“教”他们尝试几个接入

这正是我想要实现的目标,但我对这个主题还不够熟悉,所以请容忍我:)

我有一个服务器,一些设备连接到该服务器,并定期上传一些数据。 通信是通过普通TCP套接字完成的,使用我们为速度和效率而设计的专有协议。每一个这样的连接基本上都是一个会话,只要设备保持连接,会话就会打开。我现在需要的是(1)设计故障切换机制和(2)扩展。一旦第一个实例出现故障,就会有另一个服务器节点来接管。我一直在看Terracotta做一个轻量级集群。但我不明白的是,设备如何知道为第二个节点运行??我可能会“教”他们尝试几个接入点。。但这真的是一种痛苦,因为其中一些已经超出了我的控制。理想情况下,我希望中间有一些魔力,可以自动将连接重定向到集群中的任何可用节点

现在。我想知道的第一件事是这样的工具在一个世界上是如何被调用的。第二,我需要简单的现成解决方案,最好是免费或开源的友好的商业许可证。我们不使用任何重型容器,服务器实例是一堆用Spring连接的POJO,所有东西都在一个JVM中运行。理想情况下,我希望将这样的魔盒放置在其中一个节点上,为所有设备公开单个IP/端口,并进行一些配置。设置。这是可能的,还是我在梦想一个棘手问题的廉价解决方案?

我想你正在寻找。您可以从软件或硬件解决方案中选择。在这两种情况下,想法都是一样的:负载平衡器将监视两个节点的状态,并将连接路由到一个活动节点


举个例子,试试看

首先,我认为这个问题应该发布在,但一旦你在这里提问,我相信你正在寻找的是某种负载平衡设备或盒子。

。。你赢了我几秒钟。所以,这是负载平衡。。谢谢我环顾四周,看到的最多的是Linux特定的解决方案。我想要的是安装在大多数计算机上的平台无关的软件解决方案。你能推荐一些吗?或者它总是依赖于硬件?我真的不明白为什么您需要“安装在大多数计算机上的解决方案”:。我的意思是,你确切地知道你在运行什么样的服务器。我认为Windows Server可以开箱即用。对于Linux,我给了你一个链接,你可以通过谷歌找到更多的链接。如果您想“免费”获得更多控制,请编写自己的实现。简单的应用程序,读取confing,打开与所有真实应用程序服务器的连接,监视它们并使用它们来路由请求。但我更愿意安装Linux one。为了实现真正透明的操作,您可能需要一个支持IP接管的负载平衡解决方案-因此设备只需要连接到一个IP地址。如果所有应用都将使用负载平衡器的IP地址连接到服务,为什么作者需要IP接管?应用程序将不知道有多少服务器,这只是他们的一个IP。感谢链接,这是非常有用的。