一个Dapr的POC应用

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

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

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

  • 管理部分基础数据

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

整个架构如下:

68a6da194c6db9c627eac36ffeb4c8c3.png

用到的技术栈:

  • 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中设计的工作流

21a83dcc70f8e09d0b0fcad046f85179.png

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

c77129b57a17379bf37b947deb1e2bb0.png

(图2)

用到Dapr组件配置为:

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

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

未来的计划:

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

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值