2015-04-24 82 views
1

我有一个程序写入本地MSMQ,并且想要在Windows Server Core 2012上安装该程序的客户,我刚刚发现它不支持MSMQ。替代MSMQ的Windows服务器核心

是否有任何替代排队技术可以在Windows Server Core 2012上运行?

+0

不幸的是没有。我能想到的唯一解决方案是将队列作为服务总线队列移入Azure。那么你应该能够以这种方式发送和接收消息。 –

+0

我正在考虑使用类似ravenDB的东西,以便能够在内部排队以满足出站连接的需要。这不是完美的工具,但它可以通过一些黑客行为来实现角色。 – Ceilingfish

+0

这将工作 - 良好的通话 –

回答

0

我刚刚查了的Windows 2012 R2核心服务器和MSMQ是完全可用:

Get-WindowsFeature -Name MSMQ* 
[ ] Message Queuing          MSMQ       Available 
[ ] Services Message Queuing      MSMQ-Services     Available 
    [ ] Serveur Message Queuing      MSMQ-Server     Available 
    [ ] Déclencheurs Message Queuing    MSMQ-Triggers     Available 
    [ ] Intégration du service d’annuaire   MSMQ-Directory     Available 
    [ ] Prise en charge de la multidiffusion  MSMQ-Multicasting    Removed 
    [ ] Prise en charge HTTP      MSMQ-HTTP-Support    Available 
    [ ] Service de routage       MSMQ-Routing     Available 
[ ] Proxy DCOM Message Queuing      MSMQ-DCOM      Available 

所以我相信你发现它不是可追溯到Server 2008的数据(或这可能是2012年和2012年R2之间的差异 - 不太可能,但在这种情况下,您的解决方案很简单:升级!)

如果您仍然想要替代品......以任何方式,您必须更改您的代码,因为没有其他实施MSMQ API的经纪人。所以要么使用远程MSMQ,要么完全改变你的经纪人。例如,我可以保证在2008R2和2012R2服务器内核上工作的RabbbitMQ。但这仅仅是一个例子,你将不得不做很多重构来改变API。