Dapr项目应用探索
生活随笔
收集整理的這篇文章主要介紹了
Dapr项目应用探索
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景介紹
前面文章對Dapr的基本信息進行了學習,接下來嘗試將Dapr應用相關應用中。
接下來一步步實現應用dapr功能。
一、預期效果
如上圖應用Dapr點包含:
a) 報表服務綁定統一數據源服務:接受更新通知
b) 業務系統調用報表操作:采用Dapr方式
?二、Dapr應用:
綁定統一數據源:更新通知:
a) dapr創建綁定處理組件:(http調用接口->放到\.dapr\components目錄)
apiVersion: dapr.io/v1alpha1 kind: Component metadata:name: uds spec:type: bindings.httpversion: v1metadata:- name: urlvalue: http://127.0.0.1:8230/BindingInvoke/InvkeBind在Dashboard中查看添加的組件:
? b) 在統一數據源中數據變化時,調用執行binding方法:
//執行綁定:對應綁定的名稱:uds _daprClient.InvokeBindingAsync<dynamic>("uds", "post", new { data = apps, type = refCache3 ? 3 : 1 });? c) 在報表服務中提供對應服務:
[Route("api/[controller]/")] [ApiController] public class BindingInvokeController : ControllerBase {[Route("InvkeBind")][HttpPost]public IActionResult InvkeBind([FromBody] InvokeBindDto invokeBindDto){Console.WriteLine(JsonConvert.SerializeObject(invokeBindDto));return new JsonResult(invokeBindDto);} } public class InvokeBindDto {public object data { get; set; }public int type { get; set; } }業務系統:服務調用:
a) 引用Nuget包:Dapr.Client
//Dapr.Client 直接創建 Install-Package Dapr.Client //Dapr.AspNetCore 依賴注入 Install-Package Dapr.AspNetCoreb) 創建DaprClient對象:
注入方式:
創建方式:
c) 調用報表服務接口:
Dapr.Client.DaprClientBuilder daprClientBuilder = new Dapr.Client.DaprClientBuilder(); var daprClient = daprClientBuilder.Build();var obj = daprClient.InvokeMethodAsync<dynamic>(HttpMethod.Get, "rpts", "api/Run/GetRptParametersByRptId").Result; Console.WriteLine("Dapr調用報表服務(GET)結果:" + System.Text.Json.JsonSerializer.Serialize(obj)); //Post dynamic data = new {rptId = "c34f45f5-e075-9559-44dc-915886c4bde5",rptPars = new { },rptStaticPars = new { 人員姓名 = "admin", 人員編碼 = "admin" },logLevel = 0 }; var task = daprClient.InvokeMethodAsync<dynamic, dynamic>(HttpMethod.Post, "rpts", "api/Run/ExecDynamicRptByRptId", data); obj = task.Result; Console.WriteLine("Dapr調用報表服務(POST)結果:" + System.Text.Json.JsonSerializer.Serialize(obj));三、效果:
1、啟動dapr服務:
//啟動統一數據源: dapr run --app-id uds --app-port 8220 --dapr-http-port 3500 dotnet UDS.Host.dll //啟動報表服務 dapr run --app-id rpts --app-port 8230 --dapr-http-port 3501 dotnet ZLRPTS.Web.Host.dll2、業務系統調用服務成功:
模擬運行業務系統:
3、統一數據源應用修改后報表服務同步更新:
a) 在UDS中修改數據:
b) 在報表服務中,得到binding響應數據
4、查看zipkin調用記錄
四、總結
本次已初步把dapr相關綁定、服務調用應用到了項目中;接下來進一步對秘鑰存儲進一步應用。
總結
以上是生活随笔為你收集整理的Dapr项目应用探索的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信发力了,一键部署网站后端!
- 下一篇: 使用 dotnet-outdated 维