dapr 是微软的一个云原生(Cloud Native)开源项目,英文全称:Distributed Application Runtime,中文要翻译的话就是:分布式应用运行时。也就是一个运行时框架,面向云原生架构。
dapr官网地址:Dapr - Distributed Application Runtime
1、开发环境总要求
要让dapr在本地开发环境运行起来,需要完成以下几个要求(我这里以Windows 10环境为例)。1、dapr CLI的安装 (命令行工具推荐使用PowerShell 7) 2、docker desktop (需要用到docker容器) 3、dapr 初始化安装运行时(Runtime )环境:daprd 4、最后如果是基于.net的开发应用程序,必须要有.net SDK ,这里推荐使用:.NET 5 SDK
2、dapr CLI 的安装
今天来记录下dapr开发环境的搭建,本来这个是很简单的步骤,但是由于国内网络限制的问题,无法按照dapr官方的步骤顺利完成。
dapr官方网站入门步骤参考:https://docs.dapr.io/zh-hans/getting-started/
但是按照此指导的第一步(安装dapr CLI)就会报错,无法进行下去。
powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"
如果执行的话,会直接报错:未能解析此远程名称。原因很简单,就是国内网络不通。
怎么办呢?也不能fq啊。不过不用担心,也有个办法:直接到github上去下载,然后将在线安装改成本地安装。
1.1、将dapr cli下载到本地
dapr cli github下载地址:(目前发布的最新版本 V1.4.0)
https://github.com/dapr/cligithub.com
找到Source Code 直接下载过来。
然后随便整个目录(比如我这里随便创建一个目录:D:\TechnologyLearning\dapr),解压。(解压后的文件夹为:cli-1.4.0)
1.2、修改命令,本地执行
现在可以把命令行,改成本地目录执行了。
powershell -Command "iwr -useb D:\TechnologyLearning\dapr\cli-1.4.0\install\install.ps1 | iex"
执行等着自动按照完成即可。
为了文章截图,我又执行了一遍,相对于是reinstall。 你们第一次按照Runtime version 应该是n/a,因为此时运行时还没安装才对。【但是没关系,只要看到Dapr CLI is installed successfully. 说明程序是执行完了的。】
其实本质就是在C:\dapr安装了个dapr.exe,然后自动添加了系统环境变量。也就是说:不用脚本按照dapr cli,手动操作也是可以的。
1.3、检查cli是否安装成功
可通过命令dapr检查cli是否安装成功。(看到画的大大的dapr,说明cli安装成功。)
3、dapr 初始化(运行时安装)
2.1、初始化前需要安装docker容器
首先看看你电脑有没有安装docker,如果没有,到官网下载一个安装即可。这里不再赘述。
Docker Desktop 官方下载地址:Get Dockerdocs.docker.com
docker 一般是启用WSL2,如果没升级的话,可以参考微软官方的文档升级下即可。
旧版 WSL 的手动安装步骤docs.microsoft.com
2.2、运行命令 dapr init
接下来按照官方文档步骤初始化安装即可。
dapr init
这里可能网络会有点卡,因为也是需要去github中下载,我试了好几次才成功。
同时使用
dapr --version
命令验证下。
看到Runtime version的版本号,说明运行时安装成功。CLI version:1.4.0 Runtime version: 1.4.2
注意:一定要看到Runtime version 不是n/a,如果有实际的版本号说明运行时安装成功。
dapr cli 和runtime 是两个东西,所以版本号不一样。
2.3、验证容器正在运行
dapr init 初始化命令,除了安装Runtime运行时,还在docker启动了几个容器。我们直接运行 docker ps 命令来验证下。
当然不用命令行,在docker desktop可视化界面中看下也知道的。
可以看出,dapr 进行状态存储其实就是用redis缓存的,还用了Zipkin做为微服务链路追踪工具。
2.4 验证组件目录已初始化
dapr init 还创建了个组件文件夹目录(.dapr)
当然官方还是让用cmd命令行执行的(不是powershell)
explorer "%USERPROFILE%\.dapr\"
不喜欢用命令行的,直接文件夹打开看下好了。
到这里,说明dapr开发环境就顺利安装好了。
接下来可以简单试2个例子,开启dapr探索之旅。
4、官方的一个简单的例子
使用 Dapr 的内置 API
使用 Dapr 的内置 APIdocs.dapr.io
这个其实太简单了,没什么实际用途,就是证明下状态读取能力。
5、面向.NET 开发人员的dapr
作为.net 开发人员,建议升级到.net5 ,不用再用.net core了。
.NET 5 SDK 官方下载地址:Download .NET 5.0 (Linux, macOS, and Windows)
微软特意针对.net 开发人员整了个入门教程,参考做下随机获取天气的例子,就会对dapr有感觉了。
https://docs.microsoft.com/zh-cn/dotnet/architecture/dapr-for-net-developers/getting-started
例子就是前后端分离(daprFrontEnd、daprBackEnd),通过dapr进行api接口调用。
虽然例子的效果很简单,但是微软的这个例子值得一看。
更多的就不再赘述,按照此步骤,大家都应该能实现开发环境顺利安装成功。