云原生开发框架dapr环境搭建:CLI安装和初始化

dapr 是微软的一个云原生(Cloud Native)开源项目,英文全称:Distributed Application Runtime,中文要翻译的话就是:分布式应用运行时。也就是一个运行时框架,面向云原生架构。

dapr官网地址:Dapr - Distributed Application Runtime

f008e1d74083fc480acf9760242ea214.png

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"

如果执行的话,会直接报错:未能解析此远程名称。原因很简单,就是国内网络不通。

6dfc5428d40cbb7813f35109afeeabec.png

怎么办呢?也不能fq啊。不过不用担心,也有个办法:直接到github上去下载,然后将在线安装改成本地安装。

1.1、将dapr cli下载到本地

dapr cli github下载地址:(目前发布的最新版本 V1.4.0)

https://github.com/dapr/cligithub.com

找到Source Code 直接下载过来。

1574e0bc7f1f45f0aafe23b6ed2929eb.png

然后随便整个目录(比如我这里随便创建一个目录:D:\TechnologyLearning\dapr),解压。(解压后的文件夹为:cli-1.4.0)

1.2、修改命令,本地执行

现在可以把命令行,改成本地目录执行了。

powershell -Command "iwr -useb D:\TechnologyLearning\dapr\cli-1.4.0\install\install.ps1 | iex"

执行等着自动按照完成即可。

810cbd92ba6aca087b5978643cd146aa.png

为了文章截图,我又执行了一遍,相对于是reinstall。 你们第一次按照Runtime version 应该是n/a,因为此时运行时还没安装才对。【但是没关系,只要看到Dapr CLI is installed successfully. 说明程序是执行完了的。】

其实本质就是在C:\dapr安装了个dapr.exe,然后自动添加了系统环境变量。也就是说:不用脚本按照dapr cli,手动操作也是可以的。

1.3、检查cli是否安装成功

可通过命令dapr检查cli是否安装成功。(看到画的大大的dapr,说明cli安装成功。)

21d6327966e9ae2817d36d01fa1a3656.png

3、dapr 初始化(运行时安装)

2.1、初始化前需要安装docker容器

首先看看你电脑有没有安装docker,如果没有,到官网下载一个安装即可。这里不再赘述。

Docker Desktop 官方下载地址:Get Dockerdocs.docker.com

docker 一般是启用WSL2,如果没升级的话,可以参考微软官方的文档升级下即可。

旧版 WSL 的手动安装步骤docs.microsoft.com

2.2、运行命令 dapr init

接下来按照官方文档步骤初始化安装即可。

dapr init

4d1f46cd496bc5abc89f6c700f640443.png

这里可能网络会有点卡,因为也是需要去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 命令来验证下。

18003b2c7dfe0fefcd04a75f097ac395.png

当然不用命令行,在docker desktop可视化界面中看下也知道的。

5edb7a257ab9f68be8cfc8d464cb8bd7.png

可以看出,dapr 进行状态存储其实就是用redis缓存的,还用了Zipkin做为微服务链路追踪工具。

2.4 验证组件目录已初始化

dapr init 还创建了个组件文件夹目录(.dapr)

8dd423e88075acafd8b3099455e583b1.png

当然官方还是让用cmd命令行执行的(不是powershell)

explorer "%USERPROFILE%\.dapr\"

不喜欢用命令行的,直接文件夹打开看下好了。

到这里,说明dapr开发环境就顺利安装好了。


接下来可以简单试2个例子,开启dapr探索之旅。

4、官方的一个简单的例子

使用 Dapr 的内置 API

使用 Dapr 的内置 APIdocs.dapr.io

f33a717dc2b329b2df2cf3f65bc574eb.png

这个其实太简单了,没什么实际用途,就是证明下状态读取能力。

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接口调用。

41b73a1b3987073089d7706862295dff.png

虽然例子的效果很简单,但是微软的这个例子值得一看。

更多的就不再赘述,按照此步骤,大家都应该能实现开发环境顺利安装成功。

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

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

相关文章

java map 值排序_使用Java8 Stream API对Map类型按照键或值进行排序

在这篇文章中,您将学习如何使用Java对Map按照键或值进行排序。前几日有位朋友面试遇到了这个问题,看似很简单的问题,但是如果不仔细研究一下也是很容易让人懵圈的面试题。所以我决定写这样一篇文章。在Java中,有多种方法可以对Map…

沙漠上不小心挖了个洞,让这个地狱之门般的巨坑,燃烧了50年

全世界只有3.14 % 的人关注了爆炸吧知识在土库曼斯坦的卡拉库姆沙漠深处,有一个神奇的巨坑,直径约为70米,它无论白天还是黑夜,永远都在燃烧。这个坑的周围一片荒芜,坑里也没有任何明显在助燃的东西但坑内燃烧的大火近5…

不同用户同时并发测压_简单聊聊吞吐量(TPS)、QPS、并发数、响应时间(RT)概念...

1、 响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别&…

读《沟通的方法》

众所周知,沟通在工作和生活中是一项非常重要的技能,但很多人却用不好这项技能,最近中秋假期,看完了得到 CEO 脱不花写的《沟通的方法》,觉得很有收获。脱不花没有上过大学,能有今天的成就,超强的…

STP的初使化过程

STP初使化过程分为网桥角色(根网桥,非根网桥)的确定和端口角色(根端口,指定端口,阻塞端口)的确定,最终端口状态(稳定状态有blocking,forwarding)确定后,树就形成了。 STP端口状态的改变依赖于端口角色的改变和计时器的超时&#x…

收藏!这10部关于数学的顶级纪录片,告诉孩子数学跟枯燥不沾边!

全世界只有3.14 % 的人关注了爆炸吧知识学好数学,必须从娃娃抓起!数学是人类的高级思维活动,越往顶层走,需要的各种思维能力就越多。所以,要想孩子数学好,首先要帮他“打牢思维的地基”。怎么打&#xff1f…

不确定规划及应用代码_性能测试划分之应用领域

性能测试划分性能测试划分有很多种,测试方法也有很多种,更确切的说是由于测试方法的不同决定了测试划分的情况,但在测试过程中性能测试的划分没有绝对的界限,常用的有压力测试、负载测试和并发用户测试等。性能测试的方法主要包括…

使用SysPrep制作Windows2008系统映像

Windows2008及R2的Sysprep程序位于C:\Windows\System32\Sysprep目录下。 前几天在做实验环境的时候发现一个奇怪的问题,成员服务器加入域时,提示加入域成功,但是本地管理员组里没有Domain Admins组,而且将域帐户加入本地管理员组时…

老师“鬼话”全曝光!哈哈哈哈哈全国的老师都这样吗?

全世界只有3.14 % 的人关注了爆炸吧知识来源:少女兔(ID:iiilass)完来源:少女兔(ID:iiilass)作者 | 兔姐,宇宙疼老婆协会VIP会员,超人气美女漫画师&#xff0c…

需求分析 应该先写业务还是功能_一个套路,拆解常见数据分析需求

现实与Kaggle的区别现实环境的数据分析工作和Kaggle题目之间,最大的区别在于kaggle上的问题往往非常清晰。预测类问题,你只需要把预测做的足够准确就能拿高分。但在实际的业务环境中,你做了一个很牛逼的预测模型,换回来的只是业务…

jQuery EasyUI API 中文文档 - 链接按钮(LinkButton)

LinkButton 链接按钮用 $.fn.linkbutton.defaults 重写了 defaults。用法示例1. <a href"#" id"btn" iconCls"icon-search">easyui</a> 1. $(#btn).linkbutton({ 2. plain:true 3. }); 4. $(#btn).linkbutton(disable); …

10张劲爆眼球的科学动图

全世界只有3.14 % 的人关注了爆炸吧知识气球遇到橙皮会是这样的蚊子是这样吸血的&#xff0c;看着就痒蚊子是这样吸血的&#xff0c;看的浑身发痒显微镜放大看蚊子的利器&#xff0c;蚊子嘴魔术沙强磁铁其实是很危险的物品&#xff0c;携带两块以上的千万要注意全自动显微注射&…

ajax格式

2019独角兽企业重金招聘Python工程师标准>>> $.ajax({ url: "http://www.hzhuti.com", //请求的url地址 dataType: "json", //返回格式为json async: true, //请求是否异步&#xff0c;默认为异步&#xff0c;这也是ajax重要特性 data: { …

java threadsafe 注解_Java 注解详解

什么是注解Annotation 中文译过来就是注解、标释的意思&#xff0c;在 Java 中注解是一个很重要的知识点&#xff0c;但经常还是有点让新手不容易理解。而新手很难理解的主要原因是一些技术文档里的专业术语和名词不太好理解&#xff0c;比如&#xff1a;Java 注解用于为 Java …

小凡模拟器:DynamipsGUI使用问题解决方法

DynamipsGUI前身源于美国加利福尼亚一***的杰作&#xff0c;为此CISCO也是相当的不爽&#xff0c;当然这是后话了。后被小凡编写成为中国CISCO学习者&#xff0c;考CCNA、NP、IE必备的模拟软件&#xff0c;为大家省去了不少银子。 本人在使用小凡的时候碰到过一些问题&#xff…

.Net微服务实战之可观测性

前言很多次去面试&#xff0c;有经验的面试官都会问一个问题&#xff0c;你是怎么去定位日常遇到的问题&#xff1f;平常跟同行分享自己遇到的问题&#xff0c;事后他会问我&#xff0c;这种看起来毫无头绪的问题&#xff0c;你是怎么去定位解决的&#xff1f;其实我们平常不知…

“财务自由的15个阶段!说说你到哪个阶段了?”

1 穷人家的狗子早当家2 看剧的时候忘记理我家猫它就变成这样了... 3 仿佛看到了自己周末&#xff06;放假的日常。4 一颗爆米花的诞生5 说说你的财务到哪个阶段了&#xff1f;6 三个字&#xff0c;证明你是哪里人&#xff1f;不准出现地名你点的每个赞&#xff0c;我都认真当…

LiveJournal发展历程

因近期打算对公司应用架构进行调整, 其中的一些思路值得借鉴. 以下为转载内容: 一、LiveJournal发展历程 LiveJournal是99年始于校园中的项目&#xff0c;几个人出于爱好做了这样一个应用&#xff0c;以实现以下功能&#xff1a; 博客&#xff0c;论坛社会性网络&#xff0c;找…

前端快闪三:多环境灵活配置react

大前端快闪&#xff1a;package.json文件知多少&#xff1f;大前端快闪二&#xff1a;react开发模式 一键启动多个服务你已经使用Create React App[1] 脚手架搭建了React应用&#xff0c;现在该部署了。一般会使用npm run build或者yarn build构建出静态资源&#xff0c; 由web…

vSphere 4系列之六:Standard vSwitch

一、ESX网络基础 我们知道在物理环境中&#xff0c;主机是通过物理Switch连入到网络环境中的&#xff0c;与此类似&#xff0c;在vSphere虚拟环境中有vSwitch&#xff0c;虚拟机就是通过ESX主机上vSwitch来连入网络的&#xff1b;那vSwitch又是如何连入外部物理网络环境&…