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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Net Core下使用RabbitMQ比较完备两种方案(虽然代码有点惨淡,不过我会完善)

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Net Core下使用RabbitMQ比较完备两种方案(虽然代码有点惨淡,不过我会完善) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、前言

? ??上篇說給大家來寫C#和Java的方案,最近工作也比較忙,遲到了一些,我先給大家補上C#的方案。

二、使用的插件

? ??HangFire

? ??一個開源的.NET任務調度框架,最大特點在于內置提供集成化的控制臺,方便后臺查看及監控,支持多種存儲方式;在方案中主要使用定時任務做補償機制,后期可能會封裝一些,能通過頁面的形式直接添加任務;

? ?NLog

? ?日志記錄框架,方案中使用記錄日志,后期可能回集成多個日志框架;

? ?Autofac

? ?依賴注入的框架,應該不用做過多介紹;

? SqlSugar

? ORM框架,這個從剛開始我就在使用了,在現在公司沒有推行起來,不過在上兩家公司都留下的遺產,據說還用的可以,當然我還是最佩服作者;

??Polly

? 容錯服務框架,類似于Java下的Hystrix,主要是為了解決分布式系統中,系統之間相互依賴,可能會因為多種因素導致服務不可用的而產生的一套框架,支持服務的超時重試、限流、熔斷器等等;

? RabbitMQ.Client

? 官方提供的C#連接RabbitMQ的SDK;

三、方案

??模擬一個簡單訂單下單的場景,沒有進行具體的實現。同時建議下游服務不要寫在web端,最好以服務的形式奔跑,代碼中是Web端實現的,大家不要這么搞。整體上還是實現了之前提到的兩種方案:一是入庫打標,二是延時隊列(這塊沒有進行很好的測試,但是估計也沒有很大的問題);當然也是有一些特點:RabbitMQ宕機情況下無需重啟服務,網絡異常的情況下也可以進行斷線重連。接下來聊下代碼和各方插件在系統中的具體應用:

? 項目結構:

??

??RabbitMQExtensions:

?

采用Autofac按照單例的形式注入,采用Polly進行斷線重連,也開啟了自身斷線重連和心跳檢測機制,配置方面采用最簡單的URI規范進行配置,有興趣參考下官方,整體上這塊代碼還相對比較規范,以后可能也不會有太多調整;

? OrderDal

? SqlSugar的一些簡單封裝,有些小特點:大家可以可以通過配置來實現讀寫分離,采用倉儲設計。如果不太喜歡這么寫,也可以參考杰哥的做法

??OrderCommon

? 定義全局異常的中間件,還有包含一些用到的實體等等,這部分代碼還可優化拆分一下;

??OrderService

? 生產者和消費者的具體實現,這塊我還想在改造一番,將消費和業務分割開,現在寫的很凌亂,不建議這么寫,先把代碼放出來,看看大家贊同不贊同我的這些用法,可以討論,也歡迎爭論,雖然這塊代碼寫的不好,但是其實里面涉及一些RabbitMQ回調函數的用法,也是比較重要的,沒有這些函數也就實現不了我上面說那兩個特點;

//RabbitMQ宕機以后回調
//客戶端這塊大家不要采用遞歸調用恢復鏈接
//具體為什么大家可以測試下,這里留點小疑問哈哈
connection.ConnectionShutdown += OnConnectionShutdown;

//消費端異常以后回調
consumerchannel.CallbackException += OnOnConsumerMessageAndWriteMessageLogException;

? Order

? 具體的調用者,大家應該根據方法名字就能區分出我上面提到的兩種方案的設計;

??HangfireExtensions

??Hangfire定時框架,采用Mysql作為持久層的存儲,寫的也比較清晰,后期就是針對這些進行擴展,實現在界面就能添加定時任務;

四、結束

??生產端和消費端這段代碼寫的凌亂,希望大家不要介意這一點,是有原因的,這里我就不說了。希望大家看到閃光點,不要在一點上糾結;下次會加入Elasticsearch和監控部分的時候我會把這塊代碼改掉,還大家一片整潔的世界;

? Github地址:https://github.com/wangtongzhou520/rabbitmq.git? 有什么問題大家可以問我;

??歡迎大家加群438836709!歡迎大家關注我!

原文地址:https://www.cnblogs.com/wtzbk/p/10908601.html

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


總結

以上是生活随笔為你收集整理的Net Core下使用RabbitMQ比较完备两种方案(虽然代码有点惨淡,不过我会完善)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 在线视频a | 日本免费高清一区二区 | 美丽姑娘免费观看在线观看 | 全黄性性激高免费视频 | 精品 | 亚洲精品1区2区3区 国产丝袜网站 | 四虎精品永久在线 | 精品一区二区国产 | 手机看片日韩在线 | 少妇呻吟视频 | 在线观看免费av网址 | 日本视频免费观看 | 熟妇高潮一区二区三区 | 日日躁狠狠躁 | 亚洲黄av| 久久99久久99精品蜜柚传媒 | 国产jzjzjz丝袜老师水多 | 日日干夜夜撸 | 精品一区免费观看 | 日韩爱爱免费视频 | 精品在线一区二区三区 | 男人桶进美女尿囗 | 久久久久久久久久久久电影 | 亚洲第一黄色网 | 日韩黄色av网站 | 老妇女玩小男生毛片 | 91麻豆映画传媒 | 日本一区二区不卡在线 | 免费成人深夜夜 | k8yy毛片| 欧美激情一区二区三级高清视频 | 欧美一区二区三区激情啪啪 | av在线免费观看网站 | 国产乱视频 | wwwav视频| 欧美色综合天天久久综合精品 | 爱搞逼综合| 波多野结衣 在线 | 日本国产精品 | 成人欧美一区二区三区黑人动态图 | 韩国色网 | 色操插| 96日本xxxxxⅹxxx70 | 2023av在线| 裸体的日本在线观看 | 干成人网 | 国产精品自产拍 | 毛片在线视频观看 | 国产精品传媒麻豆hd | 粉嫩久久99精品久久久久久夜 | 日韩av高清无码 | 欧美极品少妇xxxxⅹ免费视频 | 中国一区二区视频 | 亚洲色图制服诱惑 | 中文字幕在线字幕中文 | 精品国产18久久久久久二百 | 一级黄色短视频 | www日本www | 婷婷亚洲五月 | 亚洲欲色 | 男生插女生视频在线观看 | 日本免费一区二区三区最新 | 超碰123 | 亚洲天堂日韩在线 | 日日干日日草 | 涩涩爱在线 | a三级黄色片 | 中文字幕 欧美 日韩 | 色播导航 | 亚洲婷婷久久综合 | av一起看香蕉 | 久久网站视频 | 亚洲福利在线播放 | 最新最全av网站 | 香蕉视频色 | 精品国产一区二区三区在线观看 | 综合人人 | 91精品国产aⅴ一区二区 | 20日本xxxxxxxxx46 欧美激情一级 | 精品国产一区二区三区久久狼黑人 | 日韩网站在线 | 色很久 | 久草美女 | 国产在线观看免费 | 一道本不卡视频 | 中文字幕天堂 | av网站免费大全 | 男女性生活视频网站 | 亚洲午夜免费 | 夜夜躁狠狠躁 | 日本一区二区视频在线观看 | 黄色片大全 | 91精品一区二区三区综合在线爱 | 东北高大丰满bbbbzbbb | 亚洲色图偷拍视频 | 精品乱子伦一区二区 | 99精品久久久久久中文字幕 | 国产精品一区二区在线看 | 中文字幕女同女同女同 |