Windows环境下Dapr入门

Dapr是Distributed Application Runtime(分布式应用运行时)的缩写。它是一个可移植的、事件驱动的运行时。

下面介绍如何在Windows平台安装Dapr:

安装Dapr CLI

Dapr CLI是使用Dapr相关功能的主要工具,您可以使用它来以Dapr Sidecar的方式启动应用程序,以及查看Sidecar日志,列出正在运行的服务以及运行Dapr仪表板。

在Powershell中运行以下命令可以将最新的Dapr cli安装到C:\dapr目录下,并将此目录添加到User PATH环境变量:

powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"

注:国内执行这条命令可能会因为网络问题无法访问raw.githubusercontent.com导致安装失败,可以直接使用浏览器代理下载此powershell文件到xx目录,然后使用以下命令安装(xx为本地ps1文件所在目录):

powershell -Command "iwr -useb C:\xx\dapr.ps1 | iex"

首次执行此命令时可能会提示需要更改执行策略来加载不信任的脚本:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser

拷贝这条命令执行,并选择[Y]确认执行更改。执行策略更改后再次运行上面的powershell命令,完成安装。

安装成功后可以运行dapr命令查看是否安装成功。

初始化Dapr

安装好Dapr CLI后现在可以通过Dapr CLI初始化Dapr。初始化Dapr将会获取Dapr Sidecar二进制文件并安装到本地。

此外,默认的初始化过程还会创建一个开发环境,来帮助简化Dapr的应用开发。这将包含以下步骤:

  1. 启动一个Redis容器实例来作为本地状态存储和消息代理;

  2. 启动一个Zipkin容器实例(一个分布式追踪系统)

  3. 创建一个上述组件的默认文件夹

  4. 启动一个Dapr placement service容器实例以获取本地Actor支持

在拥有管理员权限的命令行(实测不用管理员权限也可以)中执行:

dapr init

注:如果你当前没有安装并启动Docker for Windows是无法继续初始化的,启动Docker后再次执行init命令:

以上说明Dapr已经初始化成功,我们可以执行dapr --version查看当前版本情况:

执行成功后我们可以查看当前docker容器的启动情况:

可以看到分别启动了三个容器:dapr、redis、zipkin

如上述步骤所述,除了启动这三个容器外还会生成一个文件夹来存放一系列YMAL文件,用来定义状态存储、订阅 以及 zipkin。这些文件将会被Dapr Sidecar读取,告诉Sidecar使用Redis容器来进行状态管理和消息传递,并使用Zipkin容器来追踪信息。Windows环境下此文件夹目录为:%USERPROFILE%.dapr\

使用Dapr API

完成Dapr初始化工作后就可以通过运行sidecar然后可以直接调用Dapr API

第一步:运行Dapr Sidecar

运行以下命令以启动Dapr Sidecar,它将在端口5000上侦听名为DaprDemoApp的空应用程序:

dapr run --app-id DaprDemoApp --dapr-http-port 5000

第二步:测试保存状态

使用curl命令来向http://localhost:5000/v1.0/state/statestore地址post一个json数据:

curl -X POST -H "Content-Type: application/json" -d '[{ "key": "name", "value": "Edward"}]' http://localhost:5000/v1.0/state/statestore

使用以下命令来查看刚才提交的数据:

curl http://localhost:3500/v1.0/state/statestore/name

这些状态值都存储在redis容器里,我们可以进入redis容器查看刚才提交的内容:

或直接使用RDM查看写入情况:

定义组件

刚才的例子中我们通过Dapr API将数据保存到redis中。Dapr知道使用Redis是因为初始化Dapr时我们使用了默认的组件定义文件。当创建一个应用时,我们大概率会根据实际需求(所需组件)来创建自己的组件定义文件,下面的例子演示如何使用JSON文件作为密钥管理的组件存储密钥。

第一步:创建一个JSON文件来存储密钥:

Dapr支持许多密钥存储,此处使用最简单的JSON文件来保存我们的密钥(注意,此密钥存储仅用于开发目的,不建议生产环境使用)。

C:/Edward/mysecrets.json:

{"my-secret" : "I'm Batman"
}

第二步:创建一个Dapr密钥存储组件

首先创建一个新的目录(my-components)来存放组件文件localSecretStore.yaml:

apiVersion: dapr.io/v1alpha1kind: Componentmetadata:name: my-secret-storenamespace: defaultspec:type: secretstores.local.fileversion: v1metadata:\- name: secretsFilevalue: C:/Edward/mysecrets.json\- name: nestedSeparatorvalue: ":"

第三步:运行Dapr sidecar同时指定新创建的组件文件:localSecretStore.yaml:

dapr run --app-id DaprDemoApp --dapr-http-port 5000 --components-path C:\Edward\my-components

第四步:测试从本地JSON文件中获取密钥:

curl http://localhost:5000/v1.0/secrets/my-secret-store/my-secret

以上就是Windows平台安装Dapr的简易入门教程,后续我会继续测试.NET 5应用如何使用Dapr提供的相关功能。

作者:Endward

出处:https://www.cnblogs.com/yrz1994

相关文章:

  • Dapr能否引领云原生中间件的未来?

  • 云原生 | 阿里巴巴的Dapr实践与探索

  • Dapr 可视化指南

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

  • Dapr 正式发布 1.0

  • Dapr 交通流量控制示例

  • Dapr是如何简化微服务的开发和部署

  • 微软开源微服务运行时Dapr,赋能云原生应用开发

  • Dapr微服务应用开发系列0:概述

  • Dapr微服务应用开发系列1:环境配置

  • Dapr微服务应用开发系列2:Hello World与SDK初接触

  • Dapr微服务应用开发系列3:服务调用构件块

  • Dapr微服务应用开发系列4:状态管理构件块

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

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

相关文章

linq查询不包含某个值的记录_【翻译】C#表达式中的动态查询

当您使用LINQ来处理数据库时,这种体验是一种神奇的体验,对吗?你把数据库实体像一个普通的收集,使用Linq中像Where,Select或者 Take,这些简单的使用就能让代码可用了。但是,让我们考虑一下这里是…

计算机二级ppt为客户制作演示文稿,计算机二级ppt真题:制作介绍北京ppt

1.演示文稿题1具体如图示。2.【打开】文件夹,选择【PPT素材.docx】,点击【选择】选定所有格式类似的文本(无数据),点击【段落】,调整【大纲级别】1级。选择【蓝色文本】,点击【选择】选定所有格式相似的文本(无数据)&a…

牛气!.NET5电商平台轻松承接10亿GMV,只因做对了这个!

自从京东和唯品会转了Java..NET就一直缺乏高并发电商案例,.NET5能做高并发电商吗?必须的!这里为大家分享一家上市电商公司项目案例:纯.NET5电商平台,轻松承接双11当天近10亿GMV!系统架构为.NET5微服务Docke…

项目进度计划甘特图_项目管理进度计划表制作及甘特图绘制方法

全文总计1995字,需阅读5分钟,以下为正文:甘特图(Gantt Chart)又称横道图,它通过图示形象地表示特定项目的活动顺序与持续时间。Excel 2007/2010中, 通过堆积条形图实现。下面以Excel 2010为例来说明绘制步骤上图A列为某…

Android添加单元测试的方法与步骤

一、修改配置文件AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?><manifest xmlns:android"http://schemas.android.com/apk/res/android"package"cn.ycmoon.test.activity"android:versionCode"1"an…

这套前端可视化框架,让数据栩栩如生!

AntV&#xff0c;蚂蚁出品&#xff0c;前端数据可视化&#xff0c;有这一套就够了&#xff01;随着大数据的发展&#xff0c;人们越来越多地使用数据分析来解决问题。为了提高数据分析的效率&#xff0c;各种先进的数据可视化工具应需而生&#xff0c;可以直接根据指定的数据源…

文件的搜索

which 显示一个可执行文件的完整路径&#xff1b; [rootberyl ~]# which ls alias lsls --colortty /bin/ls whereis 搜索一个可执行工具及其相关配置、帮助 [rootberyl ~]# whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz find […

WPF ListBox样式去掉默认选中效果

次用到ListBox的时候&#xff0c;鼠标悬浮时&#xff0c;ListBoxItem的默认样式太丑了&#xff0c;设置了ItemTemplate也不管用&#xff0c;像这样的&#xff1a;经过几次尝试后&#xff0c;终于解决了这个问题&#xff0c;记录一下&#xff0c;以后就不用到处百度找了。。。其…

win8计算机安全模式,WIN8如何设置按F8进入安全模式

Win8/win10系统想进入安全模式就不是太容易的事了。之前的Win7和XP等系统可以通过在开机时按F8进入安全模式选择菜单。有什么方法可以设置让Win8/win10系统按F8直接进入安全模式菜单。下面学习啦小编向大家介绍让Win8/win10系统通过这种老办法按F8进入安全模式的方法&#xff0…

当你不喜欢一个人(一段话、一篇文章)的时候

为什么80%的码农都做不了架构师&#xff1f;>>> 我知道技术人员都喜欢争论&#xff0c;因为我也算半个。不过我总觉得&#xff0c;有些争论是没有必要存在的。因为沟通是以交流为目的的&#xff0c;若本身对方就不是来交流而是做宣传的&#xff0c;推销一种观点。那…

C# WPF框架Caliburn.Micro快速搭建

1. Caliburn是什么&#xff1f;Caliburn是Rob Eisenberg在2009年1月26日(Robs MIX10 talk "Build Your Own MVVM Framework")提出的一个MVVM类的开源框架。它是一套用于协助开发WPF&#xff0c;Silverlight&#xff0c;WP7和Win RT等的应用程序的库。Caliburn.Micro由…

怎么可以让计算机不能联网,我想让电脑:只能收发电子邮件,不能上网,怎样设置?...

2006-01-04 14:47:58用美萍卫士就可以。全部2006-01-04 14:47:582006-01-04 13:22:37第一种全部删除 最好的方式打开系统所在目录找到 IE 的所在地全部删除然后安装放火墙&#xff0c;以瑞星为例子~~~找到启动~~关闭HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVers…

火柴人_火柴人 x THANKSGIVING

滴水之恩当涌泉相报&#xff0c;THANKSGIVING是我们给予对方的温暖。很多时候我们却发现&#xff0c;帮助我们的人其实并不求回报。也许&#xff0c;当我们想要感恩得到的帮助时&#xff0c;更应该做的&#xff0c;是铭记他人的善意&#xff0c;并努力把这份温暖传递下去。2020…

Vim as Python IDE on windows

下载安装Python。 从Vim的网站下载vim,建议下Self-installing executable的版本。 编辑vim的配置文件_vimrc 拷贝vimrc_example里面的东东到_vimrc 去掉_vimrc里面的source $VIMRUNTIME/vimrc_example.vim 设置中文支持 "设置编码自动识别, 中文引号显示 "set fileen…

电脑上的ofd格式文件如何打开呢_OFD格式的文件怎么打开预览?,来充电吧

我们不管是在工作、学习、下载资源的时候都可能收到别人的文件&#xff0c;但是如果是word或者pfd格式还好&#xff0c;直接在电脑上就可以打开&#xff0c;但是如果是ofd格式的就很难打开了。工具/材料搜狗浏览器、DCS文档在线预览操作方法01打开我们的搜狗浏览器&#xff0c;…

MySql里的My是指谁?

Monty 是一个编程天才。19岁的时候就从赫尔辛基理工大学退学并找了份全职工作&#xff0c;因为在学校里已经不能再教他什么了。33岁的时候他发布了 MySQL&#xff0c;世界上最有名的开源数据库&#xff0c;除了一个库之外&#xff0c;他编写了数据库的全部东西。55岁的时候他抛…

要嫁就嫁程序猿——钱多话少死的早

1程序猿问科比&#xff1a;“你为什么这么成功&#xff1f; ”科比&#xff1a;“你知道洛杉矶凌晨四点是什么样子吗&#xff1f; ”程序猿&#xff1a;“知道&#xff0c;一般那个时候我还在写代码&#xff0c;怎么了&#xff1f;”科比&#xff1a;“额…….”2女神&#xff…

ajax上传文件 获取失败,Ajax上传文件/照片时报错TypeError :Illegal invocation的解决方法...

本篇文章给大家带来的内容是关于Ajax上传文件/照片时报错TypeError &#xff1a;Illegal invocation的解决方法&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。问题Ajax上传文件/照片时报错TypeError &#xff1a;Illegal in…

再见!微软宣布终止对旧版 Microsoft Edge 浏览器的支持

微软宣布自 2021 年 3 月 9 日起终止对旧版 Microsoft Edge&#xff08;Microsoft Edge Legacy&#xff09;浏览器的支持。旧版 Microsoft Edge 是基于 EdgeHTML 的浏览器&#xff0c;自 2015 年 7 月 29 日随新一代 Windows 10 操作系统推出。在结束对旧版 Microsoft Edge 浏览…

机器学习:怎样才能做到从入门到不放弃?

2017年人工智能已经列入了国务院的人工智能发展规划中&#xff0c;人工智能将成为推动中国发展的新生科技力量&#xff0c;并在未来扮演着越来越重要的角色&#xff0c;对于想要从事AI行业的小伙伴们来说&#xff0c;如何能够快速、深入的掌握机器学习相关知识显得尤为重要。下…