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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Dapr Workflow构建块的.NET Demo

發布時間:2024/1/1 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dapr Workflow构建块的.NET Demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Dapr 1.10版本中?帶來了最有亮點的特性就是工作流構建塊的的發布,雖然是Alpha 階段,可以讓我們盡早在應用系統中規劃工作流, 在使用Dapr的系統中更好的編寫負責的分布式應用系統。Dapr 工作流使你能夠生成跨多個應用的長時間運行的持久進程或數據流。Dapr 工作流可以與其他 Dapr API 構建基塊結合使用。例如,工作流可以通過服務調用調用另一個服務、觸發綁定或檢索機密,從而使您能夠編排和構建復雜的應用程序方案。

Dapr 工作流構建塊的提案早在2022年的5月份提出,計劃在 Dapr Runtime 中構建工作流引擎,社區反映非常積極。這個提案(https://github.com/dapr/dapr/issues/4576)內容比較長 ,敖小劍?有一個翻譯的中文版:[譯] Dapr 工作流提案。在Alpha版本里完成了以下內容:

  • 內置工作流引擎將作為初始預覽功能提供 ,這個內置工作流引擎是Azure 上的?持久任務框架?(DTF),在在Azure 基礎設施有大量的應用,它是用.NET 編寫的。Dapr團隊正在把這個實踐抽象成工作流構建塊,基于Dapr Actor構建塊來實現。Beta 版本會實現 Logic Apps 作為工作流引擎,當然還有更多的工作流引擎可以集成進入Dapr Workflow構建塊里。

  • API 將支持 3 種方法(啟動、停止、獲取狀態)的工作流管理

  • API 將作為 alpha 版發布

  • 內置引擎的 API 支持

  • 創作 SDK 將支持:.NET

  • 管理 API SDK 將支持:.NET

  • 文檔,詳細的介紹了Dapr Workflow構建塊的工作原理等,推薦大家詳細的看一看:https://docs.dapr.io/developing-applications/building-blocks/workflow/workflow-overview/

  • 代碼示例(.NET ),快速入門文檔里包含了。

Dapr 工作流構建塊目前是alpha版本,自然是有很多限制的,不推薦應用于生產環境中,至少等到beta版本時再考慮應用于生產,通常應用于生產環境的組件都是stable 版本的。Dapr Workflow 構建塊讓我們看到了他的潛力,Dapr Actor 模塊基本上.NET圈子用的多,在其他java,go等用的很少,工作流模塊組合上 Actor 構建塊會讓Dapr 上一個臺階,和其他類似框架的領先度進一步加大。我們常說“ 技術總是在短期內被高估,但是在長期又被低估。” 再來看看這句話,短期內被高估是因為在短期內的需求所迫,長期內被低估是因為技術的隱形需求要比實際上的業務務求多得多。

作為開發者,你需要考慮你將要投身的技術領域長期的隱形成本與試錯成本。再者,投入到某個技術領域中其實不能走馬觀花,而要長期以往的進行深入研究與學習,才能獲取更高的技術視野。Dapr 作為云原生時代的開發框架值得投入進去深入研究和學習。

在Dapr的?components-contrib?倉庫里 也有一個?https://github.com/dapr/components-contrib/tree/master/workflows?,其中包含了一個分布式調度框架

Temporal?https://github.com/temporalio/temporal?的一個組件實現。

現在 可以使用 .NET SDK 體驗 Dapr 工作流,在Dapr 工作流的快速入門文檔里包含了.NET 的示例,創建一個簡單的控制臺應用程序來演示 Dapr 的工作流編程模型和工作流管理 API。

控制臺應用order-processor 啟動并管理在狀態存儲中存儲和檢索數據的工作流的生命周期。工作流OrderProcessingWorkflow 由四個工作流活動或任務組成:

  • NotifyActivity:利用記錄器在整個工作流程中打印出消息

  • ReserveInventoryActivity:檢查狀態存儲以確保有足夠的庫存供購買

  • ProcessPaymentActivity:處理和授權付款

  • UpdateInventoryActivity:從狀態存儲中刪除請求的物料,并使用新的剩余庫存值更新存儲

快速入門存儲庫中提供的示例代碼。倉庫地址:https://github.com/dapr/quickstarts.git ,我們把它克隆到本地,進入到示例代碼目錄?order-processor:

cd workflows/csharp/sdk/order-processor

在終端中,與 Dapr Sidecar 一起啟動訂單處理器應用:dapr run --app-id order-processor dotnet run ,下面是一次完整運行的輸出:

這里面發生的事情大概如下:

  • 為工作流生成唯一的訂單 ID(在上面的示例中為49caa2d7 ),并啟動工作流。

  • 工作流活動NotifyActivity發送一條通知,指出已收到 10 輛汽車的訂單。

  • 工作流活動ReserveInventoryActivity檢查庫存數據,確定您是否可以提供訂購的物料,并使用庫存中的汽車數量進行響應。

  • 您的工作流將啟動并通知您其狀態。

  • 工作流活動ProcessPaymentActivity開始處理訂單49caa2d7 付款并確認是否成功。

  • 處理訂單后,工作流活動UpdateInventoryActivity使用當前可用汽車更新庫存。

  • 工作流活動NotifyActivity發送一條通知,指出訂單 49caa2d7 已完成。

  • 工作流在完成時終止。

  • 總結

    以上是生活随笔為你收集整理的Dapr Workflow构建块的.NET Demo的全部內容,希望文章能夠幫你解決所遇到的問題。

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