标签: failovercluster

ActiveMQ:如何在使用临时队列时处理代理故障转移

在我的JMS应用程序上,我们在Producers上使用临时队列,以便能够从Consumer应用程序接收回复.

我在这个主题中提到的完全相同的问题:http://activemq.2283324.n4.nabble.com/jira-Created-AMQ-3336-Temporary-Destination-errors-on-HA-failover-in -broker-网络与故障转移-TT-td3551034.html#a3612738

每当我在网络中重新启动一个任意代理时,在尝试将回复发送到临时队列时,我在使用者应用程序日志中收到了许多这样的错误:

javax.jms.InvalidDestinationException:
  Cannot publish to a deleted Destination: temp-queue://ID:...
Run Code Online (Sandbox Code Playgroud)

然后我看到加里在那里建议使用的回应

jms.watchTopicAdvisories=false
Run Code Online (Sandbox Code Playgroud)

作为客户端的URL参数brokerURL.我使用此附加参数立即更改了客户端代理URL.但是现在,当我在网络中重新启动我的代理进行此故障转移测试时,我发现这样的错误:

javax.jms.JMSException: 
  The destination temp-queue:
    //ID:client.host-65070-1308610734958-2:1:1 does not exist.
Run Code Online (Sandbox Code Playgroud)

我使用的是ActiveMQ 5.5版本.我的客户端代理URL如下所示:

failover:(tcp://amq-host1:61616,tcp://amq-host2.tred.aol.com:61616,tcp://amq-host3:61616,tcp://amq-host4:61616)?jms.useAsyncSend=true&timeout=5000&jms.watchTopicAdvisories=false
Run Code Online (Sandbox Code Playgroud)

另外,这是我的4个代理之一的activemq配置XML: amq1.xml

有人可以在这里查看这个问题并建议我在这个设置中犯了什么错误.

更新:

为了进一步澄清我在代码中如何进行请求 - 响应:

  1. 我已经使用了每个生产者目的地(即临时队列)并在每个消息的回复标题中设置它.
  2. 我已经在JMSCorrelationID标头中发送了每条消息唯一的相关标识符.
  3. 据我所知,即使Camel和Spring也使用临时队列进行请求 - 响应机制.唯一的区别是Spring JMS实现为每条消息创建和销毁临时队列,而我在生产者的生命周期中创建临时队列.当客户端(生产者)应用程序关闭时,或者当AMQ代理意识到没有与此临时队列连接的活动生成器时,将销毁此临时队列.
  4. 我已经在生产者端的每条消息上设置了消息到期,这样消息就不会在队列中停留太长时间(60秒).

java activemq-classic jms failovercluster

52
推荐指数
2
解决办法
2万
查看次数

领导者选举和故障转移检测java库

我正在寻找一个提供最基本的群集要求的库.希望这个库与完整的状态复制解决方案(ZooKeeper)分离,因为状态复制要求非常小.

  1. 使用种子和闲聊发现其他集群成员.(没有多播的网络)
  2. 基于REST over HTTP/S的LAN和WAN网络故障转移检测算法.(防火墙友好的设计,多站点群集).
  3. 基于法定人数的领导者选举,包括裂脑检测.(多站点群集)
  4. 希望用Java或JVM兼容的语言编写.
  5. 仅从/向领导者读取/写入(对领导者节点的任何写入都复制到所有其他节点)
  6. 可忽略不计的读/写流量.

java failover failovercluster

19
推荐指数
1
解决办法
2522
查看次数

如何使有效服务高度可用?

我知道,与Network Load BalancingFailover Clustering我们可以使被动服务的高可用性.但是活跃的应用呢?

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

  1. 在一台机器上运行它.问题:如果此实例丢失,则不会检索内容
  2. 在群集的每台计算机中运行它.问题:将多次检索内容
  3. 在集群的每台机器中都有它,但只在其中一台机器上运行它.每个实例都必须检查某种公共资源,以决定轮到它完成任务.

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

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

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

.net load-balancing high-availability failovercluster windows-server-2008

8
推荐指数
1
解决办法
1588
查看次数

Windows服务 - 高可用性方案和设计方法

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

1).您可以提出的所有设计级指南是什么?

2).如何使其高度可用,如主要/次要,例如,市场上现有的集群解决方案

3).如何在任何故障转移情况下处理跨领域问题

如果您能想到其他任何其他请在这里添加..

注意: 问题只与windows和windows服务有关,请尽量遵守这条规则:)

windows-services high-availability failovercluster design-decisions

7
推荐指数
1
解决办法
2422
查看次数

Redis是一个更好的选择,可以通过SQL Server扩展SignalR,并且每个支持故障转移吗?

在David Fowler的博客中,SQL Server已被添加到服务总线的扩展提供程序列表中.

我正在Windows服务器上实现Redis.基于我对Redis的了解,我猜它会比使用SQL Server快得多 - 这是一个公平的假设吗?

如果是这样,Windows版本的Redis如何实现故障转移?

failover failovercluster redis signalr

6
推荐指数
2
解决办法
4861
查看次数

PowerShell:如何返回Hyper-V群集中的所有VM

我是PowerShell的第一次程序员.在Windows Server 2012上运行.

我正在尝试获取故障转移群集上所有VM的列表并正在使用此代码:

$clusterNodes = Get-ClusterNode | select Name 
ForEach($item in $clusterNodes)
{Get-VM -ComputerName $item}
Run Code Online (Sandbox Code Playgroud)

这会返回一堆错误

但是,这完全没问题

$hosts = "server1", "server2", "server3", "server4"
ForEach($item in $hosts)
{Get-VM -ComputerName $item}
Run Code Online (Sandbox Code Playgroud)

它是否失败,因为Get-ClusterNode | select Name返回以下内容?

Name
----
server1
server2
server3
server4
Run Code Online (Sandbox Code Playgroud)

标题和下划线?

powershell hyper-v failovercluster windows-server-2012

6
推荐指数
2
解决办法
4万
查看次数

如何将挂载点的卷GUID转换为实际路径?

我正在使用此代码来获取Path,VolumeLabel,TotalSize,FreeSpace:

gwmi -ComputerName $ComputerName -namespace root\MSCluster MSCluster_DiskPartition -Credential $cred -Authentication PacketPrivacy | Format-Table Path, VolumeLabel, TotalSize, FreeSpace -AutoSize
Run Code Online (Sandbox Code Playgroud)

输出:

Path                                             VolumeLabel TotalSize FreeSpace
----                                             ----------- --------- ---------
U:                                               Archive1      4194184    379651
\\?\Volume{76795fb2-254e-454d-a95a-739018690cf4} Archive3      4194184    524883
X:                                               Archive2      4194184    735366
\\?\Volume{57e93910-60f9-44b9-8d9d-29d506e1e3d7} Archive4      4194184   1483274
Run Code Online (Sandbox Code Playgroud)

如何从Volume GUID获取安装点的真实路径(或驱动器名称)?

在此输入图像描述

我尝试使用.GetRelated类,但没有成功.有人可以帮我这个吗?

c# windows powershell failovercluster

6
推荐指数
1
解决办法
924
查看次数

RedShift节点故障转移

我有一个包含4个节点的RedShift集群.

  1. 当其中一个节点发生故障时,整个群集是否会变为不可用?
  2. 如果是 - 多久?
  3. 当集群返回时 - 它是否返回到失败前的完全相同的点,或者数据可能会在几小时前回滚到S3快照?
  4. 我如何模拟这种情况来自己检查这种情况?

非常感谢!

failovercluster amazon-web-services amazon-redshift

5
推荐指数
2
解决办法
2179
查看次数

Kubernetes掌握高可用性或复制配置

大家好我们正在寻找实用且经过测试的指南或参考kubernetes主高可用性或主节点故障转移的其他解决方案.

replication high-availability failovercluster kubernetes

5
推荐指数
0
解决办法
4402
查看次数

如何以对象格式获取Test-cluster输出?

该命令Test-Cluster将输出生成为xml和htm文件。

$v = test-cluster -Node w16-sqlcA,w16-sqlcB -Include "Storage" -Force -Disk $csv -Verbose
Run Code Online (Sandbox Code Playgroud)

似乎获得详细结果的唯一方法是解析xml。我必须获取活动的名称及其结果,就像在下面的htm文件中显示的一样。

在此处输入图片说明

有内置的获取方式吗?(或者是否已经为测试集群结果编写了解析器?。我没有找到任何搜索)。请帮忙。

powershell failover failovercluster

5
推荐指数
1
解决办法
289
查看次数