问题标签 [failover]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5641 浏览

sql-server-2008 - 群集的 SQL Server 别名?

我正在寻找一些建议来设置一个通过别名访问的 SQL 集群。

目前,假设我的集群名为“SQLCLUSTER”,我想设置一个别名来重定向到它。理想情况下,我希望尝试连接到集群中任何一台机器上的“(本地)”以重定向到“SQLCLUSTER”。我正在使用 SQL Server 2008。

集群可以做到这一点吗?

提前致谢,

戴夫

0 投票
1 回答
639 浏览

erlang - 关于如何处理 ejabberd 集群中的故障转移的任何建议?

背景:
我有一个系统需要支持分布在 100 个聊天室中的 20,000 个连接的聊天用户。在性能测试期间,我发现在获得故障转储之前,我可以在一个机器上连接多达 6,000 个连接的用户,因此在生产中我可能会在一个集群中使用四台服务器。

我的问题:
我知道聊天室绑定到服务器节点,因此如果节点死亡,聊天室也会随之消失,用户不再属于该房间。有没有办法将聊天室“复制”到另一个节点,以便将留下的用户移动到复制的房间?如果没有,您如何为用户保持连续性?

0 投票
0 回答
739 浏览

java - 使用 ipvsadm LVS 进行 RabbitMQ 负载平衡和故障转移

我们有一个平台,它使用 2 个 rabbitmq 节点,由前面的 linux LVS (ipvsadm) 负载均衡。我们为 ipvsadm 配置了持久连接和带有心跳的客户端。到目前为止,一切都很好。

部署后,我们一般有一半的客户端连接到第一个节点,另一半连接到第二个节点。我们试图停止一个节点(rabbitmqctl stop_app 和 start_app)。客户端正在重新连接rabbitmq集群,LVS将连接发送到节点。所以所有客户端都连接到第二个节点。

我们有两个问题:

1)当第一个节点启动时,您如何设法重新连接两个节点上的客户端(负载平衡)?

2) 如果所有客户端都连接到一个节点,是否有问题?

谢谢你的回答。

0 投票
1 回答
943 浏览

jboss - JBoss 应用服务器的故障转移

我有一个关于运行 JBoss ESB 4.9 的 JBoss 应用程序服务器 (5.1) 故障转移的问题。我将从一个图表开始:

图表

我们有一个遗留应用程序(“Legacy Producer”)在遗留传输(“Legacy Transport”)上生成数据。我们编写了一个 ESB 服务(“网关”),它侦听遗留传输并将接收到的消息放在 ESB 上。然后,这些消息将遵循几个编排步骤进行处理。

这适用于一个运行的应用程序服务器。但是,我们希望允许应用程序服务器发生故障。因此,一个简单的解决方案是在集群配置中建立两个这样的应用程序服务器(如图所示)。但是,由于这会导致复制网关服务,结果将是每个消息的两个副本在 ESB 上发布并进行处理,这是一个不希望的结果。

实现这种故障转移的正确方法是什么?

0 投票
2 回答
7392 浏览

sql-server - SQL Server 故障转移群集 - 确定活动节点

有没有办法以编程方式确定 SQL Server 故障转移群集中的哪个节点是活动节点?或者至少确定当前机器是否是活动节点?

我有一个 Windows 程序,它在故障转移群集中的两个物理节点上运行,但它的运行方式应该不同,具体取决于它是否在活动节点上运行。部分原因是该程序不应同时在非活动节点和活动节点上运行

(我已经读过一些关于让程序集群感知的内容,但这对于这个简单的场景来说似乎太过分了。)

0 投票
3 回答
789 浏览

java - 阻止到 IP 的传出连接以进行失败测试?

我们在 Windows Server 2003 上使用 Coldfusion 9。我们正在测试一些代码的“故障转移”,这些代码通过 CFLDAP 和 LDAPS 通过 Java 与 LDAP 交互(用于密码更改)。

本质上,我们希望有一个 LDAP 服务器 IPS 列表,并在发生连接故障时切换到新服务器。

有没有一种快速的方法来阻止从操作系统级别到 IP 的出站连接以模拟 LDAP 服务器中断,而无需实际断开它与网络的连接或将其关闭?

0 投票
1 回答
2112 浏览

java - 基于多个 DNS 结果的 Java 传出 TCP 连接故障转移

如果我使用new Socket("unit.domain.com", 100)unit.domain.comDNS 记录在 A 记录中有多个 IP 地址进行连接。如果连接失败,Java 是否会像浏览器一样自动连接到列表中的其他地址之一?还是必须手动实施?

0 投票
2 回答
247 浏览

ruby - RVM 是否“故障转移”到另一个 ruby​​ 实例出错?

有一个奇怪的问题,我有一个似乎使用多个版本的 Ruby 的 Rake 任务。当一个失败时,它似乎会尝试另一个。

细节

  • 运行 10.6.5 的 MacBook
  • rvm 1.1.0
  • 红宝石:1.8.7-p302、ree-1.8.7-2010.02、ruby-1.9.2-p0
  • 耙子 0.8.7
  • 宝石 1.3.7

  • Veewee(使用 Opcode.com、Vagrant 和 Chef 配置虚拟机)


我不完全确定错误问题的具体细节,但因为它可能是 Veewee 本身的问题。所以,我想做的是建立一个基于 veewee 定义的新盒子。该命令失败并显示有关缺少方法的错误 - 但有趣的是它是如何失败的。

错误

我设法弄清楚,如果我只用 RVM 安装了一个 Ruby,它就会失败。如果我安装了多个 Ruby,它会在同一个地方失败,但似乎在另一个解释器中继续执行。

这是两个不同的剪辑控制台输出。我已经剪裁了它们的大小。每个错误的完整输出都可以作为 gist 获得

安装了一个 Ruby 版本

这是当我在 RVM 中只有一个 Ruby 版本(1.8.7)时运行的命令

多个 Ruby 版本

这是在 RVM 中使用三个版本的 Ruby 运行的相同命令。在此之前,我使用了“rvm use 1.8.7”。同样,我不知道具体错误的细节有多重要——我感兴趣的是有三个单独的错误——每个错误都有自己的堆栈跟踪——并且每个错误都在不同的 Ruby 解释器中。查看每个堆栈跟踪的底部,您会发现它们都来自不同的解释器位置 - 首先是 ree-1.8.7,然后是 ruby​​-1.8.7,然后是 ruby​​-1.9.2:

直到我们到达最后安装的 Ruby 版本,执行才会停止。

讨论

有谁知道这里发生了什么?有没有人见过这种类似“故障转移”的行为?第一个异常不会像使用一个解释器那样停止执行,这对我来说似乎很奇怪,但我想知道在安装 RVM 时是否发生了我们 Ruby 开发人员没有考虑的事情。

0 投票
1 回答
2004 浏览

.net - 用于主动/被动故障转移群集的 .NET 库

我想开发一个连接到一些输入源并处理它读取的消息的应用程序(原则上想想 BizTalk,但没有那么重)。为了性能和可靠性,我想启用服务的水平扩展,显然是通过利用共享存储(例如 DB)作为消息队列机制。

但是,访问电子邮件或磁盘文件夹等资源的线程无法水平扩展。一次只能运行一个实例,从该输入源读取数据。(进一步的消息处理业务逻辑当然可以驻留在多个节点上)。

这是主动/被动集群的理想选择。一个节点被认为是“主动的”并主动连接到“单实例”资源(例如电子邮件收件箱),而其他节点是“被动的”。如果“主动”节点死亡,那么其他“被动”节点会在它们之间选出一个新的“主动”节点。

现在的问题是:是否有一个 .NET 库可以帮助实现通常的故障转移集群逻辑?(即实现必要的心跳发送/检测,以及“活动”节点选举过程)。因为我不想重新发明轮子。

我可以从已经完成的研究中看到:

  • BizTalk Server 本身支持此功能,但我没有使用 BizTalk,因为它太重且太贵(但我想模拟它的此功能)
  • Windows Server 支持故障转移群集(在某些高端版本中,如 Windows Server 2008 Enterprise 或 Datacenter),但这又是一个昂贵的解决方案(因为每个节点都需要昂贵的许可证)
  • 有很多关于故障转移算法应该如何工作的信息,但我在任何地方都看不到开源实现......(仅在以溢价出售的商业产品中)

我知道它可能被认为是先进和理想的功能,因此为什么它的商业解决方案很昂贵。这很好 - 如果那里没有开源实现或库,我将自己开发一个。我只是不想花费它已经存在的努力。

更新 12/02/2011:找到 SAForum ( http://www.saforum.org/link/linkshow.asp?link_id=214720 ),这是一个发布用于开发服务可用性概念的开放规范的网站。还有 OpenSAF ( http://www.opensaf.org/Welcome-to-OpenSAF%E2%84%A2~151213~14944.htm ),以及 SAForum 上规范的开源 C++ 实现。看起来很全面,但是很重。我将花费大量时间来浏览规范和文档。它还涵盖的不仅仅是故障转移,还为完全可扩展的分布式系统(通知、分布式事件、锁、集群管理等)提供规范……仍然没有任何地方实现 .NET 的迹象。

0 投票
1 回答
272 浏览

sql-server-2005 - 简单的 SQL 故障转移计划?日志运输?镜像?

我有一个物理 Prod DB 服务器 (SQL05),现在有一个 VM DB 服务器。这个想法是,如果物理机器出现故障,我们将路由器(通过 NAT)重新指向 VM 机器。我正在考虑使用日志传送来保持 VM DB 基本上是最新的。

  1. 这是正确的方法吗?
  2. 我应该以另一种方式看待,也许是镜像?
  3. 我们希望 VM DB 始终处于可用状态(所以我认为这排除了镜像)

任何(好的)建议!:)