问题标签 [high-availability]

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 投票
4 回答
4020 浏览

postgresql - Postgres HA(基于 WAL-shipping)失败

我希望有人可以帮助我解决 WAL 运输和热备问题。我的备用系统愉快地运行了数周,然后突然开始寻找不存在的 .history 文件。然后它崩溃了,如果不重建备用数据库,我就无法成功重新启动它。

两个系统都运行 CentOS 4.5 和 postgres 8.4.1。他们使用 NFS 将生产环境中的 WAL 文件存储在备用服务器上。

日志的相关部分,附有我的评论:

有任何想法吗?我什至不知道 .history 文件是什么,而且(大部分优秀的)文档对此都不是很清楚。

PS。我希望我正在运行虚拟机,这样我就可以使用链接文本,而不必担心任何这种应用程序级别的 HA 废话:-)

更新:这是大约此时来自备用服务器的一些日志。看起来有些东西使服务器停止恢复并上线,但我不知道是什么。我很确定没有任何东西可以创建触发器文件。

0 投票
4 回答
5716 浏览

sql-server - 故障转移后如何连接到镜像 SQL Server?

我设置了一个数据库镜像,然后用它connectionstring来连接它:

将一些数据添加到数据库后,我关闭了主体服务器,因此镜像服务器成为主体服务器。我再次打开连接,收到此错误:

我认为通过在连接字符串中指定故障转移伙伴,ADO.NET 会为我完成这项工作。那我现在该怎么办?

0 投票
2 回答
4462 浏览

sockets - 如何以最少的停机时间移交 TCP 侦听套接字?

虽然这个问题被标记为 EventMachine,但任何语言的通用 BSD-socket 解决方案也非常受欢迎。


一些背景:

我有一个监听 TCP 套接字的应用程序。它使用常规的 System V 风格的初始化脚本启动和关闭。

我的问题是它需要一些时间才能准备好为 TCP 套接字提供服务。这不是太长,也许只有 5 秒,但在工作日需要重新启动时,这 5 秒太长了。现有连接保持打开并正常完成也很重要。

重新启动应用程序的原因是补丁、升级等。不幸的是,我发现自己每隔一段时间就需要在生产中做这种事情。


问题:

我正在寻找一种方法来巧妙地将 TCP 侦听套接字从一个进程切换到另一个进程,因此只能获得一瞬间的停机时间。我希望现有的连接/套接字保持打开并在旧进程中完成处理,而新进程开始为新的连接提供服务。

是否有一些使用 BSD 套接字的行之有效的方法?(EventMachine 解决方案的奖励积分。)

是否有开源库可以实现这一点,我可以按原样使用或用作参考?(同样,非 Ruby 和非 EventMachine 解决方案也很受欢迎!)

0 投票
0 回答
182 浏览

metrics - 寻找有关衡量使用 CDN 的高可用性应用程序的建议

我在一家财富 500 强公司工作,该公司难以准确衡量高可用性应用程序的性能和可用性(即,在 5 秒页面到页面导航的情况下提高 99.5% 的应用程序)。我们将计划内和计划外停机时间都考虑在内,以确定此可用性数量。但是,我们最近在组合中添加了一个 CDN,这使我们的指标有点复杂。CDN 现在处理我们大约 75% 的流量,同时将剩余的流量发送到我们自己的服务器。

我们试图衡量我们所谓的“真实用户体验”(即,我们的测试脚本模拟典型的用户点击应用程序。)这些监控脚本位于我们的网络之外,这意味着我们访问了大约 75% 的 CDN时间。

管理层已决定我们采用最坏的情况来衡量可用性。因此,如果我们的源服务器出现问题,但 CDN 提供的内容还不错,我们仍然会影响可用性。反过来也是如此。我的想法是,只要“用户体验”成功,我们就不应该无谓地惩罚自己。毕竟,CDN 可以提高性能和可用性!

我只是想知道是否有人知道其他财富 500 强公司如何计算他们的可用性数字?例如,我查看 apple.com 的一个店面,该店面使用的 CDN 似乎永远不会关闭(除非即将发布重大产品公告。)拥有一些确凿的事实数据会很棒,因为我不知道不要相信我们需要在这些指标上不必要地伤害自己。我们正在根据这些数字做出业务决策。

然而,我可以说,鉴于这些指标对管理层是可见的,问题得到解决并很快得到解决(阅读:我们很快就消除了繁文缛节。)不幸的是,作为一名开发人员,我不希望管理层认为由于某些外部因素(即 CDN)正在影响数字,因此应用程序处于上升或下降状态。

想法?

(应 Sanoj 的要求,我将这个问题发布到 ServerFault ......有人可以关闭这个问题吗? https://serverfault.com/questions/119186/looking-for-a-recommendation-on-measuring-a-high -availability-app-that-is-using-a )

0 投票
4 回答
2105 浏览

load-balancing - 如何实现高可用?

我的老板想要一个系统来关注整个大陆的灾难性事件。他想在美国有两台服务器,在亚洲有两台服务器(每个大陆有一台登录服务器和一台工作服务器)。

  1. 如果地震破坏了两大洲之间的联系,两者都应该单独行动。当连接恢复时,它们应该相互同步恢复正常。
  2. 不允许使用外部云系统,因为他没有信心。
  3. 系统应考虑可扩展性,这意味着添加新服务器应易于配置。
  4. 服务器应该是负载平衡的。
  5. 服务器之间的连接应该非常安全(加密并通过 SSL 发送,尽管 SSL 负责加密)。
  6. 系统应该让一个且只有一个用户使用一个帐户登录。(注意大陆之间的延迟和共享帐户的两个用户可能同时到达两个登录服务器)

请帮忙。我已经走投无路了。先感谢您。

0 投票
3 回答
3391 浏览

windows-services - Windows 服务——高可用性场景和设计方法

假设我有一个在 Windows 服务器机器上运行的独立 Windows 服务。如何确保它是高可用的?

1)。您可以提出哪些设计级别指南?

2)。如何让它像primary/secondary一样高可用,例如目前市场上可用的集群解决方案

3)。在任何故障转移情况下如何处理横切关注点

如果还有其他你能想到的,请在此处添加..

注意: 该问题仅与windows和windows服务有关,请尽量遵守此规则:)

0 投票
6 回答
2359 浏览

.net - 如何让主动服务高可用?

我知道我们可以使被动服务Network Load Balancing高度可用。但是活跃的应用程序呢?Failover Clustering

示例:我的一个应用程序以固定的时间间隔从外部资源中检索一些内容。我想象过以下场景:

  1. 在一台机器上运行它。问题:如果这个实例下降,内容将不会被检索
  2. 在集群的每台机器上运行它。问题:内容将被多次检索
  3. 在集群的每台机器上都有它,但只在其中一台机器上运行它。每个实例都必须检查某种公共资源来决定是否轮到它来执行任务。

当我考虑解决方案#3 时,我想知道什么应该是公共资源。我曾想过在数据库中创建一个表,我们可以使用它来获取全局锁。

这是最好的解决方案吗?人们通常如何做到这一点?

顺便说一句,它是在 Windows Server 2008 上运行的 C# .NET WCF 应用程序

0 投票
1 回答
7074 浏览

biztalk - Biztalk Server 2009 - 故障转移群集和网络负载平衡 (NLB)

我们正在计划一个 Biztalk 2009 设置,其中我们有 2 个 Biztalk 应用程序服务器和 2 个数据库服务器(数据库服务器位于主动/被动集群中)。所有服务器都运行 Windows Server 2008 R2。

作为我们应用程序的一部分,我们将通过 MSMQ、FILE 和 SOAP 适配器接收传入流量。我们还需要高可用性和负载平衡。

假设我创建了两个不同的 Biztalk 主机,并将 FILE 接收处理程序分配给第一个,并将 MSMQ 接收处理程序分配给第二个。我现在为两台主机中的每台创建两个主机实例(即,我的两台物理服务器各一台)。

在查看了 Biztalk 文档之后,这是我目前所知道的:

  • 对于 FILE(接收),高可用性和负载平衡将由 Biztalk 自动实现,因为我在组中的两台服务器中的每台服务器上都设置了一个主机实例。

  • MSMQ(接收)需要 Biztalk 主机集群来确保高可用性(但是主机集群也需要设置 Windows 故障转移集群)。这里没有明确的负载平衡选项。

  • SOAP(接收)需要 NLB 来实现负载平衡和高可用性(如果一台服务器出现故障,NLB 会将流量引导到另一台服务器)。

这是我完全困惑的地方,我迫切需要你的帮助:

  • 是否可以在两台应用服务器上同时设置 Windows 故障转移群集和 NLB?
    • 如果是,那么请告诉我如何。
    • 如果不是,那么请向我解释,当 MSMQ 和 SOAP 的基础先决条件相互排斥时,他们是如何实现高可用性和负载平衡的!


非常感谢您的帮助,
M

0 投票
1 回答
3328 浏览

msmq - Biztalk - 如何设置 MSMQ 负载平衡和高可用性?

据我了解,要实现MSMQ负载均衡,必须使用NLB这样的技术。

并且为了实现 MSMQ 高可用性,必须将相关的 Biztalk 主机集群(因此底层服务器必须自己在集群中)。

然而,根据 Microsoft 文档,NLB 和故障转移群集技术不兼容。请参阅此链接以供参考:http: //support.microsoft.com/kb/235305

谁能向我解释如何实现 MSMQ 负载平衡和高可用性?

先感谢您,

0 投票
1 回答
53 浏览

performance - 在多个服务器之间对代码中的请求进行分区

我有几个论坛服务器(它们是什么无关紧要),它们存储来自用户的帖子,我希望能够在这些服务器之间划分请求。我目前倾向于按地理位置对它们进行分区。为了提高数据的局部性,将用户划分为北美、南美等区域。

是否有任何设计模式来实现将分区属性映射到服务器的功能,使这段代码具有高可用性并且不会成为单点故障?