是否有人将NServiceBus安装到Microsoft群集服务器上?
更新: 好的,在克服了我没有将MSDTC设置为集群资源(doh!)这一事实之后,我能够运行我的程序,并且看起来一切正常,但是我无法成功地向它发送消息。挖掘之后,我发现虽然私有队列是在集群的一个节点上创建的,但它们不在另一个节点上(我在命令提示符下运行NServiceBus.Host.exe),因此对于使用集群名称的应用程序不可见。我尝试用NServiceBus.Host.exe创建一个通用应用程序并将其添加到集群组,但这只会导致集群组崩溃。我的问题仍然是:是否有人在集群环境中成功运行了NServiceBus是否有人将NServiceBus安装到Microsoft群集服务器上?,nservicebus,cluster-computing,windows-clustering,Nservicebus,Cluster Computing,Windows Clustering,更新: 好的,在克服了我没有将MSDTC设置为集群资源(doh!)这一事实之后,我能够运行我的程序,并且看起来一切正常,但是我无法成功地向它发送消息。挖掘之后,我发现虽然私有队列是在集群的一个节点上创建的,但它们不在另一个节点上(我在命令提示符下运行NServiceBus.Host.exe),因此对于使用集群名称的应用程序不可见。我尝试用NServiceBus.Host.exe创建一个通用应用程序并将其添加到集群组,但这只会导致集群组崩溃。我的问题仍然是:是否有人在集群环境中成功运行了NServ
我正在尝试将NServiceBus安装到群集win2k3主机上。提供的配置实用程序(runner.exe)抛出了一些我没有捕捉到的错误,现在运行正常。运行NServiceBus.Host.exe时,我反复遇到此错误: System.Transactions.TransactionBortedException:事务已中止。-->System.Transactions.TransactionManager通信异常:与基础事务管理器的通信失败。-->System.Runtime.InteropServices.COMException(0x8004D01B):事务管理器不可用。(HRESULT的异常:0x8004D01B) 在System.Transactions.Oletx.idtcproxysimfactory.ConnectToProxy(字符串节点名、Guid resourceManagerIdentifier、IntPtr ManagerDiIdentifier、布尔值和节点名匹配、UInt32和WhereboutsSize、CoTaskMemHandle和WhereboutsBuffer、IResourceManagerShim和resourceManagerShim) 在System.Transactions.Oletx.DtcTransactionManager.Initialize()处 ---内部异常堆栈跟踪的结束--- 在System.Transactions.Oletx.OletxTransactionManager.ProxyException(COMException COMException)中 在System.Transactions.Oletx.DtcTransactionManager.Initialize()处 在System.Transactions.Oletx.DtcTransactionManager.get_proxysimfactory()中 在System.Transactions.Oletx.OletxTransactionManager.CreateTransaction(TransactionOptions属性)中 at System.Transactions.TransactionStatePromoted.EnterState(InternalTransaction tx) ---内部异常堆栈跟踪的结束--- 在System.Transactions.TransactionStateAborted.CheckForFinishedTransaction(内部事务发送) 在System.Transactions.EnstratableState.Promote(InternalTransaction tx)中 在System.Transactions.Transaction.Promote()中 at System.Transactions.TransactionInterop.ConvertToOletxTransaction(事务处理) 在System.Transactions.TransactionInterop.GetDTCtrTransaction(事务事务) 位于System.Messaging.MessageQueue.StaleSafeReceiveMessage(UInt32超时、Int32操作、MQPROPS属性、NativeOverlapped*overlapped、ReceiveCallback ReceiveCallback、CursorHandle CursorHandle、IntPtr事务) 在System.Messaging.MessageQueue.ReceiveCurrent(TimeSpan超时、Int32操作、游标句柄游标、MessagePropertyFilter筛选器、MessageQueueTransaction内部事务、MessageQueueTransactionType transactionType) 在System.Messaging.MessageQueue.Receive(TimeSpan超时,MessageQueueTransactionType transactionType) 在d:\BuildAgent-02\work\672D81652ACA4E1\src\impl\Unicast\NServiceBus.Unicast.Msmq\MsmqTransport.ReceiveMessageFromQueueAfterPeekWasSuccessful()中的以下位置:第551行
是否有人成功地将NServiceBus安装到群集服务器上,如果是这样,您是如何使其工作的?好的,在群集上实际设置MSDTC资源会有所帮助,一旦您同时拥有该资源和MSMQ资源,那么一切都能正常工作,请参阅问题的更新。好的,实际上,在集群上设置MSDTC资源是很有帮助的,一旦您同时拥有了MSDTC资源和MSMQ资源,那么一切都会正常工作,请参见问题的更新。好的,所以我最终将其设置为通用应用程序。我发现的问题是:
好的,我终于把它建立起来,作为一个通用的应用程序工作。我发现的问题是:
对于那些想要更多指南的人,我写了一篇博客文章,一步一步地详细介绍了这个过程 退房
我使用的是Windows Server 2008,但我相信大多数规则都应该适用。对于那些想了解更多指南的人,我写了一篇博客文章,一步一步地详细介绍了这个过程 退房
我使用的是Windows Server 2008,但我相信大多数规则都应该适用。我发现的另一个问题是,在为群集组设置通用应用程序后,需要进入并更改属性,以便选中“使用网络名称作为计算机名”,否则NServiceBus将尝试使用其中一个节点的名称在本地运行。我发现的另一个问题是,在为群集组设置通用应用程序之后,