2015-04-24 107 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。