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 维