一.nop事件機制簡介
應(yīng)用場景:客戶支付成功后,需要發(fā)送短信、郵件告知客戶訂單支付成功(短信、郵件由不同模塊實現(xiàn))
實現(xiàn)方法: 1.定義支付成功OrderPaidEvent事件。
2.定義短信,郵箱兩個消費者共同監(jiān)聽OrderPaidEvent事件,并實現(xiàn)相關(guān)業(yè)務(wù)。
3.當(dāng)客戶支付成功后生產(chǎn)者發(fā)送OrderPaidEvent事件。
4.消費者接收到OrderPaidEvent事件后,短信和郵箱消費者分別執(zhí)行自己的業(yè)務(wù)。
nop事件機制使用到“生產(chǎn)者/消費者”模式。生產(chǎn)者只負(fù)責(zé)發(fā)布事件,并不需要關(guān)心誰來處理,相反消費者只用來處理事件。那生產(chǎn)者和消費者是如何進行關(guān)聯(lián)的呢?nop實現(xiàn)是非常簡單的,通過泛型來定義一個事件類,如果生產(chǎn)者和消費者都使用同一個事件類,那么就關(guān)聯(lián)到一起了稱之為訂閱。負(fù)責(zé)實現(xiàn)事件機制的部分稱之為緩沖區(qū),緩沖區(qū)的作用是通過解耦的方式實現(xiàn)消息機制。生產(chǎn)者和消費者是一對多的關(guān)系。下圖簡單介紹下生產(chǎn)者消費者關(guān)系。
二.nop事件相關(guān)接口
生產(chǎn)者接口:Nop.Services.Events.IEventPublisher
網(wǎng)友評論