我正在debugging我们的应用程序运行在3节点故障转移群集与MSMQ群集组的消息队列的网站上。 我们看到,该系统在一些节点组合上工作,但不是全部,因此故障安全性不如预期。 问题是从群集队列接收消息。 当我们的应用程序在群集节点B或C上运行时,无论MSMQ运行在哪个节点(工作=我们的应用程序接收消息),它都能正常工作。 当我们的应用程序运行在节点A上时,由于消息队列服务不可用而失败,无论MSMQ在哪里运行。 为了更加混淆事物,我创build了一个带有GUI客户端的小型WCF-MQ代理服务,允许我向服务发送一个命令,然后服务将发送到客户端指定的消息队列或从消息队列接收 – 在这个过程中尽可能多地给予反馈。 该模式与此应用程序相同,除了失败的节点是节点C – 无论MSMQ在哪里运行。 以下是我检查的一些事情: 该服务(我们的应用程序)在所有3个节点上的相同域用户帐户下运行。 应用程序configuration文件包含消息队列的相同path。 队列访问权限:每个人都有完全的控制权。 本地MSMQ服务正在所有节点上运行,并且确保本地队列的名称与群集名称不同。 防火墙在所有节点上都被禁用。 节点A与B和C的不同之处在于它在与集群networking相同的子网上具有额外的networking连接。 所以当我从节点B ping它时,它在“错误的”接口上响应。 不知道是否重要,但有点奇怪。 服务选项“使用机器名称的networking名称”似乎没有任何改变。 我的代理服务报告它是感知到的计算机名称,对于节点A,它始终返回群集组名称,在节点B和C上它始终返回节点名称。 MSMQ群集组使用共享的iscsi驱动器进行存储。 我只是一个开发人员,而不是任何方式的微软基础架构专家,所以我想问一下在debugging这样的集群式MSMQ安装时,build议采取什么措施?
如何安装可从另一台计算机访问的Windows Message Queue。 我已经安装了MQ服务器,它在计算机pipe理中正确显示,但是我无法从我的Visual Studio服务器资源pipe理器连接到它。 错误消息是“消息队列尚未安装在此计算机上”
我现在有一个解决scheme在单个服务器上运行,使用事务专用队列(msmq / wcf)。 Windows服务使用和处理队列中的消息,并且Web应用程序层将消息推送到队列。 我们正在转向ip负载平衡configuration(循环法,两台服务器,单个虚拟地址),并且不需要维护每个节点之间的消息顺序。 所以,简单地复制堆栈(web应用程序,服务,队列)将在正常情况下罚款。 但是我更喜欢一个虚拟的队列集合,这样如果有任何节点停止运行,那么没有任何消息会丢失或延迟一段时间。 我对MSMQ并不陌生,但是之前没有将其configuration为多个服务器。 任何build议,不涉及重新configuration服务器? 我需要坚持负载平衡configuration。
有没有通过批处理或PowerShell脚本做到这一点? 我正在寻找一种方法来设置几个新的服务器。 我在这个主题上发现的唯一的东西让我相信你不能:从: http : //technet.microsoft.com/en-us/library/cc785060.aspx 只能使用计算机pipe理,服务和应用程序,消息队列属性中的“存储”选项卡来修改消息存储位置。 编辑 – 我也发现这篇文章。 它列出了一些registry值,但是又build议反对它http://blogs.msdn.com/b/johnbreakwell/archive/2009/02/09/changing-the-msmq-storage-location.aspx
Technet有一篇很好的文章( 适用于Windows Server 2012和Windows 8的Windows PowerShell ),列出了最新操作系统上可用的无数PowerShell cmdlet。 通常有很容易(或不那么容易:-)的方法来将其中一些回溯到较早的操作系统。 特别是我有兴趣在Windows 7安装MSMQ cmdlet。可以这样做,如果是的话,如何? 因此我的搜寻已经空白。
我正在尝试确定我们的MSMQ服务器所需的资源,并且正在阅读文档时感到困惑。 例如,MSMQ 3.0是否可以存储25GB的消息(平均消息大小为15K),如果是,那么支持它的服务器规格是多less?
我有一个客户端有一个服务器(服务器A),它有一个.net应用程序试图写入另一台服务器(服务器B)上的MSMQ。 他们得到错误“MSMQ独立客户端不能服务MSMQ依赖客户端”。 这两者有什么区别,是否有一个简单的方法让服务器A独立? 谢谢
问题: 当在Windows Server 2003上打开窗口“队列消息”时,我收到错误消息 "The list of messages cannot be retrieved. Error: Access is denied" 为什么? 重新创build以下步骤: Windows Server 2003标准的64位 右键单击我的电脑 selectpipe理 服务 信息排队 私人排队 MYSERVICE 队列消息 显示错误信息: "The list of messages cannot be retrieved. Error: Access is denied." 目前部署的设置/configuration: 以本地pipe理员身份login。 机器是独立的。 WCF服务正在运行(使用WCF特定用户) WCF用户帐户是本地ADMIN组的成员。 点网4.0。 混乱排队服务正在运行(本地系统) 也许创build错误的权限问题。
上下文:MSMQ,Windows Server 2008(“常规”或“R2”版本) 根据MS在线文档在这里: http://technet.microsoft.com/en-gb/library/cc725576%28WS.10%29.aspx MSMQ消息可以通过HTTP传输。 但是,这种运输技术所需要的港口是: 80 1801 现在,端口80(或主机的默认HTTP端口,在大多数情况下为80)是微不足道的,可以理解的。 但是,TCP端口1801? 为什么? 它不是纯粹的HTTP? 提前致谢。
消息队列如何从崩溃的机器中恢复,以便事务消息可以在新机器上恢复?