使用NServiceBus開發分布式應用

2022-01-15 11:56:04 字數 1997 閱讀 3410

官方示例:

如圖所示,專案一共包括4個端點(endpoint),也就是四個單獨的專案,端點是nservicebus中的核心概念,傳送訊息和事件發布訂閱的基礎都是endpoint。這個專案中包括傳送訊息和事件的發布訂閱。

完整的專案結構如圖所示:

//傳送到sales端點

await endpointinstance.send("sales",command).configureawait(false);

break;

}case consolekey.q:

return;

default:

log.info("please try again");

break;}}

}static async task mainasync()

}sales

class program

}public class placeorderhandler:ihandlemessages");

//發布orderplaced事件

var order=new orderplaced();

order.orderid = message.orderid;

return context.publish(order);}}

billing
static async task main(string args)

public class orderplacedhandler:ihandlemessages - charging credit card");

//發布orderbilled事件

nservicebus的核心是在端點之間通訊,通訊的實體需要實現icommand介面,通訊的事件需要實現ievent事件,nservicebus會掃瞄實現這兩個介面的類。每個端點之間的關鍵配置就是endpointconfiguration。

筆記 NServiceBus 作為介面的訊息

1.傳送訊息的時候盡量使用類 傳送命令 訊息 的時候建議使用類而不是介面,因為這樣的話你可以在類的建構函式裡面寫一些你的判斷邏輯了,這樣也不容易導致你傳送無效的訊息到客戶端 2.接受訊息的時候盡量使用介面 訊息的event或者叫訊息型別 a 由於接受到的訊息 服務端發過來的 都是以前發生過的事情了 ...

使用SpringMVC Restful 開發思考

一 rest思想 此部分摘抄網路 rest representational state transfer 是一種輕量級的web service架構風格,其實現和操作明顯比soap和xml rpc更為簡潔,可以完全通過http協議實現,還可以利用快取cache來提高響應速度,效能 效率和易用性上都優...

使用 phpStorm 開發

苦惱蛋疼的曾哥工作室,讓人痛不欲生,緩慢的同步速度,另人惱火的外掛程式配置,讓人瘋狂的卡。簡直是讓人用了幾天之後就不行了。廢話不多說,一款很好的php ide。2.註冊 user name embrace license key 直接複製 license begin 43136 12042010 0...