一个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技术来方便搭建开发环境

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS实验教程——实验二十九:ArcGIS制图掩膜工具案例详解

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据)》 实验目录 1. ArcGIS掩膜概述2. 死胡同掩膜3. 要素轮廓线掩膜4. 交叉图层掩膜1. ArcGIS掩膜概述 掩膜是利用遮盖或隐藏要素的视觉处理技术来增强地图表现力的一种技术手段,掩膜实质是包含一些多边…

03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》

文章目录(更新中…) 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

使用开源工具 k8tz 优雅设置 Kubernetes Pod 时区

容器在主机的内核上运行,并获得时钟,但时区不是来自内核,而是来自用户空间。在大多数情况下,默认使用协调世界时 (UTC)。时区的不一致,会带来很多困扰。即使代码与时区无关,但容器日志与系统日志时间相关联…

04 tp6 的查数据 find、select、findOrEmpty、findOrFail、toArray、selectOrFail、value、column《ThinkPHP6 入门到电商实战》

文章目录(更新中…) 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

学生信息管理系统小结

ASP.NETAccess 一、登入部分 主界面 Fm new 主界面(); string s1 "ProviderMicrosoft.Jet.OLEDB.4.0;Data Sourcestudent.mdb"; string s2 "select*from 登录信息表 where 用户名" this.ttbName.Text " and 密码 "…

05 tp6 的数据添加 助手函数、 save、insert、strict、replace、insertGetId、insertAll《ThinkPHP6 入门到电商实战》

文章目录(更新中…) 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

VS2019如何创建C++项目?没有找到空项目(C++)完全解决方案

在使用Visual Studio 2019创建C++空项目时,没有空白项目可选,如下图所示,原因是在安装VS2019时没有选择C++对应的模块。本文讲解如何使用VS2019创建C++空项目,并使用C语言输出Hello World。 运行Visual Studio Installer,点击【修改】。 勾选【使用C++的桌面开发】,点击…

CentOS7.2 忘记root密码解决

CentOS 7 root密码的重置方式和CentOS 6完全不一样,以进入单用户模式修改root密码为例。 1.重启开机按esc,在第一行按e,进行编辑 2.编辑修改两处:ro改为rw,在LANGen_US.UFT-8后面添加init/bin/sh 3.按CtrlX重启,并修改…

android:制作 Nine-Patch 图片

它是一种被特殊处理过的 png 图片,能够指定哪些区域可以被拉伸而 哪些区域不可以。 那么 Nine-Patch 图片到底有什么实际作用呢?我们还是通过一个例子来看一下吧。比如 说项目中有一张气泡样式的图片 message_left.png,如图 3.38 所示。 图 …

08 获取器 withAttr、多连缀、whereRaw、事务、数据集《ThinkPHP6 入门到电商实战》

知识点:获取器 withAttr、多连缀、whereRaw、事务、数据集 文章目录(更新中…) 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商…

Chrome 双击关闭标签,新窗口打开新地址,一个插件搞定,安装方便,自带hosts

对,没错,就这它: 下载地址:https://shuax.com/project/greenchrome/ 一、插件安装 下载后,将下载的压缩包解压,根据自己Chreom浏览器是32位还是64位找到对应的 winmm.dll 文件,复制到Chome安装…

C#中的闭包和意想不到的坑

虽然闭包主要是函数式编程的玩意儿,而C#的最主要特征是面向对象,但是利用委托或lambda表达式,C#也可以写出具有函数式编程风味的代码。同样的,使用委托或者lambda表达式,也可以在C#中使用闭包。根据WIKI的定义&#xf…

投票彰显电信合约机诺基亚Lumia 800C受热捧

49元可以做什么?与朋友吃顿便饭、买几包好烟,同时也能参加中国电信Lumia 800C的合约购机计划,其中选择49元是最低套餐,选择并预存600元话费,便可以以2999元购买Lumia 800C。 对于Lumia 800C,它可是新一代诺…

07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》

文章目录(更新中…) 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

基于netty的微服务架构

基于netty的微服务架构 微服务一篇好文章 http://san-yun.iteye.com/blog/1693759 教程 http://udn.yyuap.com/doc/essential-netty-in-action/GETTING%20STARTED/Introducing%20Netty.html netty原理 http://www.infoq.com/cn/articles/netty-server-create netty方面专家 李林…

无人机模拟操控凤凰模拟器(PhoenixRC 5.0)安装及配置图文教程(附凤凰模拟器下载地址)

文章目录 1. 凤凰模拟器简介2. 凤凰模拟器安装及配置图文教程3. 凤凰模拟器下载地址1. 凤凰模拟器简介 凤凰phoenixrc模拟器(航模8合1模拟器)是一款专业的飞行模拟器软件,它是属于航模新手练模拟专用,可模拟大疆无人机,各种穿越机,还有很多固定翼和直升机等等。凤凰模拟操…

NCF 的Dapr应用实例的运行

简介在进行今天的主要内容之前,先带大家了解一下DaprDapr 是一个可移植的、事件驱动的运行时,它使任何开发人员都可以轻松构建在云和边缘上运行的弹性、无状态和有状态的应用程序,并包含语言和开发人员框架的多样性。任何语言,任何…

06 tp6 的数据更新(改)及删除 《ThinkPHP6 入门到电商实战》

文章目录(更新中…) 01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添…

2020年:风雨兼程,不负韶华,注定是不平凡的一年

时光易逝,岁月不老。2020,发生了太多的惊喜。 文章目录小瑶瑶报到疫情防控,我们是认真的感谢CSDN一路相伴小瑶瑶报到 1月20日,闺女小瑶瑶已超过预产期一周了,决定入院进行手术,次日,手术顺利进…

Python对文件的操作(转)

一、文件对象 我理解的文件对象就是一个接口&#xff0c;通过这个接口对文件进行相关操作。 《Python 核心编程》上说的很晦涩&#xff0c;这里没有深刻理解到&#xff0c;希望有人能解释给我听。>>> f open(demo.txt,r) >>> f <open file demo.txt, mod…