我正在實現具有Web界面(服務堆棧)和長時間運行的作業服務(servicestack?)的解決方案。使用RedisMQ設計ServiceStack
我已經實現了Web界面,並發現了一個非常好的框架來創建我想要的。我使用redis作爲半可靠的對象存儲。
然後我開始考慮如何實施工作服務。 我原本以爲我做的事就是設置一個簡單的windows服務,並讓redis客戶端接受認爲標記爲求職服務(我到底怎麼確定)。這些都是需要大量資源的非常長時間運行的工作,所以我想要一次節流其中有多少個正在運行,並且如果我可以用工人機器扇出來會很好。
然後我看到ServiceStack有一個RedisMQ可能適合該法案,因此也是一個問題。
我應該創建一個單獨的服務堆棧服務並將其託管在Windows服務中。然後在它上面有一個MQ接口,並讓webservice發送到需要運行的消息隊列作業。然後,該服務從web服務中解脫出來,一切都很好。
或
難道我在想它,應該只使用我已經運行的服務的邏輯部分和實施工作邏輯,所以,可以在MQ流行,但在相同的過程,很可能只是浪費時間。我可以完全忽略消息部分,只是用一些調節算法直接調用邏輯部分。
還當我是測試這一點我有麻煩創建RedisMQ服務器
using ServiceStack.redis;
using ServiceStack.messaging;
var mqHost = new RedisMqServer(redisFactory, retryCount:2);
返回RedisMQServer沒有找到。
我做了全面的NuGet安裝servicestack和servicestack.redis包
install-package servicestack
install-package servicestack.redis
,當我在.dll文件使用對象瀏覽器我沒有找到ReidsMQServer的任何提及,我的版本4.0。 15 我發現這個URL https://github.com/ServiceStack/ServiceStack/blob/master/src/ServiceStack.Server/Messaging/Redis/RedisMqServer.cs 而且會認爲這應該屬於servicestack.redis參考。
任何幫助表示讚賞, 歡呼
謝謝你的工作完美 – Fenix
我標記這是答案,因爲這部分可以幫助別人(如果他們沒有找到程序集)。將只嘗試一下什麼設計適合我。 – Fenix