在過去的9個月中,我一直在研究CQRS項目(我的第一個項目),這是一個沉重的學習曲線。我目前在我的寫模型中使用JOliver出色的EventStore,併爲我的閱讀模型使用PostGresSql。使用Redis的CQRS MQ
我的讀寫數據庫都在同一臺機器上,這意味着當對寫入數據庫進行更改時,在同一個同步調用中會更改讀取模型。
當我學習CQRS我覺得這是最好的一段路要走,因爲我曾與消息隊列/服務總線框架,如MassTransit,NServiceBus等沒有經驗
我現在是在一個點與大多數的我的體系結構已引入消息隊列框架。
今天,我遇到了Redis MQ,它是ServiceStack的一部分,而且因爲我們已經在基於Rest的HTTP客戶端使用ServiceStack,所以這似乎是正確的選擇。
我的問題是關於理解我需要知道的事情(或者如果我有任何誤解)來實現Redis MQ以及Redis MQ是否是正確的選擇?
現在根據我的理解,我將使用Redis MQ作爲寫入和讀取數據庫之間的持久隊列。一旦我的活動商店記錄了我的域中發生了某些事情,它就會發布到Redis MQ。偵聽事件/消息的服務將接收來自Redis MQ的事件/消息,並且一旦它處理完畢(即更新或寫入讀取模型),通知/響應就會返回到事件存儲庫,以告知事件存儲庫消息已被聽衆/訂戶接收和處理。
聽起來不錯?
另外Redis MQ架構會給我NSB,RavenDB,MassTransit等提供的一切嗎?
此外,我將部署到Windows 2008和2003服務器。 Redis對於這些操作系統是否穩定?
感謝您的幫助。我必須決定在我的情況下使用哪個持久消息隊列,但我認爲我需要花幾天時間來學習最好的東西。你會建議什麼? :) –
我在生產中最常用的是NSB + MSMQ,但MT同樣有能力,但缺乏文檔。確保查看NSB的許可證以查看它是否一致。 Redis MQ似乎很有趣,但無法評論。總的來說,嘗試一些不同的東西,讓您更好地瞭解消息是如何成爲基礎架構的問題,並且不應該在應用程序的其他部分大顯身手。 – eulerfx
再次感謝你的智慧:)。我有一些想法,NSB提供什麼,我只需要看看Redis MQ如何做(重試失敗的消息,如何查看失敗的消息或查看消息隊列以查看必須處理的消息等)。我需要看看NSB許可證,我們沒有那麼多的消息傳遞,此外在這個階段讀寫數據庫在同一臺機器上。 –