日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于Masstransit实现Eventbus的功能

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Masstransit实现Eventbus的功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Masstransit?是一個非常優秀的基于消息進行通信的分布式應用程序框架,詳情參考官網。

在介紹AA.ServiceBus之前,先介紹下幾個概念.

分布式

分布式系統如何定義?這里引用一下Distributed Systems Concepts and Design(Third Edition)中的一句話:"A distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages"(分布式系統是指位于聯網計算機上的組件僅通過傳遞消息來通信和協調其操作的系統)。從這句話里面我們可以看到幾個重點:
1、組件分布在網絡計算機上
2、組件之間僅僅通過消息傳遞來通信并協調行動
嚴格講,同一個分布式系統中的計算機在空間部署上是可以隨意分布的,這些計算機可能被放在不同的機柜上,也可能在不同的機房中,甚至分布在不同的城市。

?中間件

中間件是介于操作系統和在其上運行的應用程序之間的軟件。中間件實質上充當隱藏轉換層,實現了分布式應用程序的通信和數據管理。它有時被稱為管道,因為它將兩個應用程序連接在一起,使數據和數據庫可在“管道”間輕松傳遞。參考Azure

常見的中間件比如:遠程過程調用中間件,消息中間件,數據庫訪問中間。?

消息中間件

Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems.?

面向消息的中間件(MOM)是支持在分布式系統之間發送和接收消息的軟件或硬件基礎設施?

AA.ServiceBus 介紹

AA.ServiceBus?是基于MassTransit的消息中間件,提供點對點和發布訂閱的通信方式。這兩個之間的區別:

  • ??端點對端點通信?該消息僅處理一次?并且被一個消費者處理。

?例如命名模式?命令告訴服務做某事,推薦動詞-名詞順序的命名風格:如提交訂單命令(SubmitOrder)

  • ?發布訂閱通信?可以被多個訂閱者進行消費處理。

例如事件驅動模式?事件意味著某事已經發生了,推薦以名詞-動詞(過去時態)順序的命名風格,表明發生了某事。示例訂單提交過了事件?OrderSubmitted

?目前實現消息中間件有多種方式,參考微服務.NET:容器化應用架構指南 如圖

AA.ServiceBus 快速開始?

? ?實例我們創建兩個控制臺程序生產者、消費者分別命名ServiceBus.ProducersServiceBus.Consumers,然后在創建一個消息契約類庫命名為ServiceBus.MsgContract?,分別被生產者和消費者引用。? ? ?

1.在消息契約類庫中創建兩個消息 分別是 提交訂單?SubmitOrder?和 訂單已提交OrderSubmitted代碼如下

2.在生產者控制臺項目中安裝Install-Package AA.ServiceBus -Version 1.0.0,生產者主要對消息的構造然后進行發送或發布;

?3.在消費者控制臺項目中安裝Install-Package AA.ServiceBus -Version 1.0.0,生產者需要創建對應的消費者進行處理消息,只需要繼承IConsumer接口即可

運行消費者和生產者控制臺?輸出如下:

?

原文:https://www.cnblogs.com/chengtian/p/11239216.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的基于Masstransit实现Eventbus的功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。