我有以下問題使用asp.net進行rebus的最佳做法?
[1]。有一個管理系統需要最頻繁的CRUD操作。 例如INT GetUserLimit(),列表GetUserList(),INT AddNewUser函數(用戶的用戶),布爾DeleteUser(),IsAuthenticated(用戶名字符串,字符串passwrd)
對於上面列出的功能,該web應用程序可能要等待爲了一些回報。
在這種情況下,是直接爲Web應用程序提供Web服務還是我們不公開這些Web服務,而是通過請求/回覆模式與EBS進行通信?
溶液1:
http://i.stack.imgur.com/cIRUR.png
溶液2:
如果web應用程序 「發送」 到一個組分A的命令,則組分A回覆消息到被稱爲 「webmsgqueue」 某一個隊列或者將消息推送到nosql服務器。 Web應用程序使用ajax輪詢方法來檢查「webmsgqueue」或nosql服務器中的消息。
http://i.stack.imgur.com/F7qTs.png
[2]如果數據我們查詢或上傳大,豈不是更好的選擇web服務?
對不起,因爲我試圖讓你清楚這一點,所以我更新我的問題。從您的回覆中,最好爲這些CRUD操作公開Web服務,因爲大多數用例可能希望Web應用程序等待一些回報。 – markchenwd
我今天聽到一個詞--'CQRS',你可以跟rebus談談嗎? – markchenwd
好吧,CQRS是一個很大的主題 - 我建議你谷歌它,並閱讀什麼,例如Udi Dahan,Greg Young和Rinad Abdullin談到這一點 - 有完成CQRS的不同方法,例如,您可能會/可能不會以異步方式(即「最終一致」)的方式進行操作,您可能會/可能不會使用事件採購等。 – mookid8000