一个Dapr的POC应用

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Dapr的POC应用相关的知识,希望对你有一定的参考价值。

开源了之前开发的一个Dapr的POC应用。

地址在:https://github.com/heavenwing/daprapps-poc

是以一个供应链的系统(的一部分业务)作为场景。POC场景很简单:

  • 管理部分基础数据

  • 实现简单的入库流程,包括申请-收货-入库

整个架构如下:

用到的技术栈:

  • Dapr(一共11项目,10个Dapr应用,1个桌面应用)

  • Java 项目(basicinfo,basicsetting,old)

  • .NET项目(其他的项目)

  • 托管在AKS中,CI/CD使用Azure DevOps Service

  • SQL Server/Postgresql

  • portal项目是Server Blazor,并实现聚合网关模式

  • gateway项目基于Ocelot实现路由网关模式

  • 以Dapr的方式来启动Mockoon-CLI来实现仅启动部分应用的联调

  • 基于Logic Apps的运行时实现了一个工作流来驱动入库申请的审批流程:

    • 申请单创建PubSub触发工作流

    • 1.创建分公司审批待办

    • 2.等待分公司审批完成

    • 3.判断是否超过入库限制

    • 如果是:

    • 3.1.创建总公司审批待办

    • 3.2.等待总公司审批完成

    • 4.完成入库申请单

下图是在Logic Apps中设计的工作流

  • 在AKS中的监控通过Dapr内置的观测能力发送到Azure Monitor,如下图

(图2)

用到Dapr组件配置为:

  • 本地开发:pubsub.redis,state.redis

  • AKS环境:pubsub.azure.servicebus,state.azure.blobstorage

未来的计划:

  • 会持续把Dapr的实践和技巧加到这个POC项目中

  • 随着Dapr工作流构建块的发布,会替换工作流的实现

  • 随着Dapr分布式事务的支持,会尝试实现分布式事务的场景

  • 通过docker compose在本地方便的启动Dapr应用

  • 通过VSCode的devcontainer技术来方便搭建开发环境

以上是关于一个Dapr的POC应用的主要内容,如果未能解决你的问题,请参考以下文章

分布式应用运行时Dapr

Dapr云原生应用开发系列7:工作流集成

云原生新贵-Dapr诞生记

Dapr 知多少 | 分布式应用运行时

面向.NET开发人员的Dapr——参考应用程序

云原生分布式应用运行时 Dapr 在阿里的实践