中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

室內(nèi)裝修設(shè)計(jì)圖紙seo快速軟件

室內(nèi)裝修設(shè)計(jì)圖紙,seo快速軟件,wordpress主題哪個(gè)最好用,什么瀏覽器可以看違規(guī)網(wǎng)站前言 在分布式系統(tǒng)中,由于各個(gè)系統(tǒng)服務(wù)之間的獨(dú)立性和網(wǎng)絡(luò)通信的不確定性,要確??缦到y(tǒng)的事務(wù)操作的最終一致性是一項(xiàng)重大的挑戰(zhàn)。今天給大家推薦一個(gè).NET開(kāi)源的處理分布式事務(wù)的解決方案基于 .NET Standard 的 C# 庫(kù):CAP。 CAP項(xiàng)目介紹 CA…

前言

在分布式系統(tǒng)中,由于各個(gè)系統(tǒng)服務(wù)之間的獨(dú)立性和網(wǎng)絡(luò)通信的不確定性,要確??缦到y(tǒng)的事務(wù)操作的最終一致性是一項(xiàng)重大的挑戰(zhàn)。今天給大家推薦一個(gè).NET開(kāi)源的處理分布式事務(wù)的解決方案基于 .NET Standard 的 C# 庫(kù):CAP。

CAP項(xiàng)目介紹

CAP 是一個(gè)基于 .NET Standard 的 C# 庫(kù),它是一種處理分布式事務(wù)的解決方案,同樣具有 EventBus 的功能,它具有輕量級(jí)、易使用、高性能等特點(diǎn)。CAP 是一個(gè)EventBus,同時(shí)也是一個(gè)在微服務(wù)或者SOA系統(tǒng)中解決分布式事務(wù)問(wèn)題的一個(gè)框架。它有助于創(chuàng)建可擴(kuò)展,可靠并且易于更改的微服務(wù)系統(tǒng)。

什么是 EventBus?

事件總線是一種機(jī)制,它允許不同的組件彼此通信而不彼此了解。組件可以將事件發(fā)送到Eventbus,而無(wú)需知道是誰(shuí)來(lái)接聽(tīng)或有多少其他人來(lái)接聽(tīng)。組件也可以偵聽(tīng)Eventbus上的事件,而無(wú)需知道誰(shuí)發(fā)送了事件。這樣,組件可以相互通信而無(wú)需相互依賴(lài)。同樣,很容易替換一個(gè)組件。只要新組件了解正在發(fā)送和接收的事件,其他組件就永遠(yuǎn)不會(huì)知道。

CAP架構(gòu)預(yù)覽

CAP支持的存儲(chǔ)

SQL Server、MySQL、PostgreSql、MongoDB、In-Memory Storage。

CAP 支持以下幾種運(yùn)輸方式

RabbitMQ、Kafka、Azure Service Bus、Amazon SQS、NATS、In-Memory Queue、Redis Streams、Apache Pulsar。

怎么選擇運(yùn)輸器

項(xiàng)目源碼

快速開(kāi)始

安裝DotNetCore.CAP Nuget包

CAP 支持主流的消息隊(duì)列作為傳輸器:

我本地安裝的是DotNetCore.CAP.RabbitMQ。

//你可以按需選擇下面的包進(jìn)行安裝:
PM>?Install-Package?DotNetCore.CAP.Kafka
PM>?Install-Package?DotNetCore.CAP.RabbitMQ
PM>?Install-Package?DotNetCore.CAP.AzureServiceBus
PM>?Install-Package?DotNetCore.CAP.AmazonSQS
PM>?Install-Package?DotNetCore.CAP.NATS
PM>?Install-Package?DotNetCore.CAP.RedisStreams
PM>?Install-Package?DotNetCore.CAP.Pulsar

CAP 提供了主流數(shù)據(jù)庫(kù)作為存儲(chǔ):

我本地安裝的是DotNetCore.CAP.MongoDB。

//?按需選擇安裝你正在使用的數(shù)據(jù)庫(kù):
PM>?Install-Package?DotNetCore.CAP.SqlServer
PM>?Install-Package?DotNetCore.CAP.MySql
PM>?Install-Package?DotNetCore.CAP.PostgreSql
PM>?Install-Package?DotNetCore.CAP.MongoDB

配置CAP到 Program.cs 文件中,如下:

????????????builder.Services.AddCap(x?=>{//如果你使用的 EF 進(jìn)行數(shù)據(jù)操作,你需要添加如下配置://配置數(shù)據(jù)庫(kù)上下文x.UseEntityFramework<AppDbContext>();//如果你使用的 MongoDB,你可以添加如下配置:x.UseMongoDB("ConnectionStrings");??//注意,僅支持MongoDB?4.0+集群//CAP?RabbitMQ?配置x.UseRabbitMQ(rab?=>?{rab.HostName?=?"192.0.1.1";rab.Password?=?"123456";rab.Port?=?5672;rab.UserName?=?"123456";});});

發(fā)布

在 Controller 中注入 ICapPublisher 然后使用 ICapPublisher 進(jìn)行消息發(fā)送。

public?class?PublishController?:?Controller
{private?readonly?ICapPublisher?_capBus;public?PublishController(ICapPublisher?capPublisher){_capBus?=?capPublisher;}//不使用事務(wù)[Route("~/without/transaction")]public?IActionResult?WithoutTransaction(){_capBus.Publish("xxx.services.show.time",?DateTime.Now);//?Publish?delay?message_capBus.PublishDelayAsync(TimeSpan.FromSeconds(delaySeconds),?"xxx.services.show.time",?DateTime.Now);return?Ok();}//Ado.Net?中使用事務(wù),自動(dòng)提交[Route("~/adonet/transaction")]public?IActionResult?AdonetWithTransaction(){using?(var?connection?=?new?MySqlConnection(ConnectionString)){using?(var?transaction?=?connection.BeginTransaction(_capBus,?autoCommit:?true)){//業(yè)務(wù)代碼_capBus.Publish("xxx.services.show.time",?DateTime.Now);}}return?Ok();}//EntityFramework?中使用事務(wù),自動(dòng)提交[Route("~/ef/transaction")]public?IActionResult?EntityFrameworkWithTransaction([FromServices]AppDbContext?dbContext){using?(var?trans?=?dbContext.Database.BeginTransaction(_capBus,?autoCommit:?true)){//業(yè)務(wù)代碼_capBus.Publish("xxx.services.show.time",?DateTime.Now);}return?Ok();}
}

訂閱

Action Method

在 Action 上添加 CapSubscribeAttribute 來(lái)訂閱相關(guān)消息。

public?class?PublishController?:?Controller
{[CapSubscribe("xxx.services.show.time")]public?void?CheckReceivedMessage(DateTime?datetime){Console.WriteLine(datetime);}
}
Service Method

如果你的訂閱方法沒(méi)有位于 Controller 中,則你訂閱的類(lèi)需要繼承 ICapSubscribe:


namespace?xxx.Service
{public?interface?ISubscriberService{void?CheckReceivedMessage(DateTime?datetime);}public?class?SubscriberService:?ISubscriberService,?ICapSubscribe{[CapSubscribe("xxx.services.show.time")]public?void?CheckReceivedMessage(DateTime?datetime){}}
}

項(xiàng)目源碼地址

更多項(xiàng)目實(shí)用功能和特性歡迎前往項(xiàng)目開(kāi)源地址查看👀,別忘了給項(xiàng)目一個(gè)Star支持💖。

GitHub開(kāi)源地址:GitHub - dotnetcore/CAP: Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern

官方文檔:CAP

優(yōu)秀項(xiàng)目和框架精選

該項(xiàng)目已收錄到C#/.NET/.NET Core優(yōu)秀項(xiàng)目和框架精選中,關(guān)注優(yōu)秀項(xiàng)目和框架精選能讓你及時(shí)了解C#、.NET和.NET Core領(lǐng)域的最新動(dòng)態(tài)和最佳實(shí)踐,提高開(kāi)發(fā)工作效率和質(zhì)量??右淹?#xff0c;歡迎大家踴躍提交PR推薦或自薦(讓優(yōu)秀的項(xiàng)目和框架不被埋沒(méi)🤞)。

https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md

DotNetGuide技術(shù)社區(qū)交流群

  • DotNetGuide技術(shù)社區(qū)是一個(gè)面向.NET開(kāi)發(fā)者的開(kāi)源技術(shù)社區(qū),旨在為開(kāi)發(fā)者們提供全面的C#/.NET/.NET Core相關(guān)學(xué)習(xí)資料、技術(shù)分享和咨詢(xún)、項(xiàng)目推薦、招聘資訊和解決問(wèn)題的平臺(tái)。
  • 在這個(gè)社區(qū)中,開(kāi)發(fā)者們可以分享自己的技術(shù)文章、項(xiàng)目經(jīng)驗(yàn)、遇到的疑難技術(shù)問(wèn)題以及解決方案,并且還有機(jī)會(huì)結(jié)識(shí)志同道合的開(kāi)發(fā)者。
  • 我們致力于構(gòu)建一個(gè)積極向上、和諧友善的.NET技術(shù)交流平臺(tái),為廣大.NET開(kāi)發(fā)者帶來(lái)更多的價(jià)值和成長(zhǎng)機(jī)會(huì)。

歡迎加入DotNetGuide技術(shù)社區(qū)微信交流群👪

http://www.risenshineclean.com/news/41099.html

相關(guān)文章:

  • 外國(guó)人做外貿(mào)都會(huì)瀏覽哪些網(wǎng)站焊工培訓(xùn)內(nèi)容有哪些
  • 網(wǎng)站建設(shè)常用代碼營(yíng)銷(xiāo)策劃36計(jì)
  • 直播視頻網(wǎng)站如何做網(wǎng)站策劃
  • 佛山專(zhuān)業(yè)做企業(yè)網(wǎng)站上海今天最新發(fā)布會(huì)
  • 吉 360 網(wǎng)站建設(shè)如何做好精準(zhǔn)營(yíng)銷(xiāo)
  • 網(wǎng)站客服工作內(nèi)容重慶網(wǎng)站建設(shè)哪家好
  • 凡客專(zhuān)賣(mài)店網(wǎng)站優(yōu)化入門(mén)
  • 安徽國(guó)貿(mào)集團(tuán)網(wǎng)站建設(shè)沈陽(yáng)網(wǎng)站推廣優(yōu)化
  • 合肥專(zhuān)業(yè)做網(wǎng)站的互聯(lián)網(wǎng)域名注冊(cè)查詢(xún)
  • 做網(wǎng)站拍攝照片用什么佳能相機(jī)好網(wǎng)站優(yōu)化課程培訓(xùn)
  • 哪個(gè)網(wǎng)站可以做社工試題網(wǎng)絡(luò)服務(wù)器
  • 湖北住房和城鄉(xiāng)建設(shè)委員會(huì)網(wǎng)站東莞市民最新疫情
  • 三門(mén)峽集團(tuán)網(wǎng)站建設(shè)愛(ài)站網(wǎng)關(guān)鍵詞查詢(xún)工具
  • 有沒(méi)有人與動(dòng)物做的電影網(wǎng)站自己做網(wǎng)站怎么做
  • 自適應(yīng)全屏網(wǎng)站競(jìng)價(jià)排名名詞解釋
  • 網(wǎng)站建設(shè)網(wǎng)站排名優(yōu)化金牌服務(wù)搜索引擎排名影響因素有哪些
  • 房屋網(wǎng)簽查詢(xún)系統(tǒng)官方網(wǎng)站知乎推廣
  • 個(gè)人網(wǎng)站怎么做推廣好口碑關(guān)鍵詞優(yōu)化
  • 深圳市網(wǎng)站維護(hù)seo短視頻網(wǎng)頁(yè)入口
  • 營(yíng)銷(xiāo)公關(guān)seo關(guān)鍵詞找29火星軟件
  • wordpress博客實(shí)戰(zhàn)青島百度整站優(yōu)化服務(wù)
  • 網(wǎng)站圖文列表seo優(yōu)化快排
  • 寧波網(wǎng)站建設(shè) 聯(lián)系哪家百度seo推廣免費(fèi)
  • 網(wǎng)站開(kāi)發(fā)的客戶群體淘寶新店怎么快速做起來(lái)
  • 查網(wǎng)站空間商seo是什么意思啊
  • 網(wǎng)站建設(shè)期任務(wù)及總結(jié)今日頭條號(hào)官網(wǎng)
  • 深圳市建筑工程佛山seo外包平臺(tái)
  • 網(wǎng)站開(kāi)發(fā) 參考文獻(xiàn)seo網(wǎng)絡(luò)優(yōu)化招聘信息
  • wordpress 屏蔽白云百度seo公司
  • 微信怎么制作微電影網(wǎng)站深圳seo優(yōu)化seo優(yōu)化