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:状态管理构件块

Windows环境下Dapr入门相关推荐

  1. 在Windows环境下搭建Android开发环境

    标题:在Windows环境下搭建 Android 开发环境 作者:CrazyPebble 时间:2011年2月28日 声明:此文在参考其他网上资料以及笔者实践总结写下,一来自己可以做一些总结,二来给跟 ...

  2. Windows环境下Android NDK环境搭建

    转自:http://blog.csdn.net/pengchua/article/details/7582949 前面介绍Windows下Android 开发环境配置,主要是面向JAVA开发环境,对只 ...

  3. Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)

    Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)(畅销10年,经典再现!) 罗云彬 著 ISBN 978-7-121-20759-4 2013年7月出版 定价:99.00元 75 ...

  4. 第二课 如何在WINDOWS环境下搭建以太坊开发环境

    [本文目标] 根据本文指导,可以在WINDOUWS环境下完成以太坊智能合约部署前的比较环境准备. [技术收获] 如何在WINDOW(笔者以WINDOWS 10为例)环境搭建以太坊开发环境,按照以下安装 ...

  5. Windows环境下Composer的安装和使用说明,从零开始熟悉安装composer,不会者、不常用者和遗忘者的幸福

    [本文摘抄至网络-本人整理测试] 测试日志: 20220315测试:可用 Windows环境下Composer的安装和使用教程 (本人亲测可用) 下载前说明:建议先安装PHP环境,我安装的是PHP7. ...

  6. resin-pro-4.0.34 服務器在windows环境下的配置

    resin-pro-4.0.34 服務器在windows环境下的配置 (轉載请注明作者:icelong) 到caucho網站上http://www.caucho.com/download/ 下載 re ...

  7. Windows环境下Unicode编程总结和将ANSI转换到Unicode 将Unicode转换到ANSI

    Windows环境下Unicode编程总结 UNICODE环境设置 在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下. UN ...

  8. mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...

  9. php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。

    php-cgi 是运行php, php-fpm是守护php-cgi进程 nginx配置目录运行php         location  ~ \.php$         {              ...

最新文章

  1. 学python的游戏app_Python教学软件
  2. AI如何影响经济周期?诺奖得主表态:保持关注,我很乐观
  3. SQLite中的运算符表达式
  4. hive 语法检查_升级Hive3处理语义和语法变更
  5. Nacos如何避免并发读写冲突问题?
  6. 计蒜客NOIP模拟赛4 D2T2 跑步爱天天
  7. Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)
  8. 64位 linux 32位连接器,32位汇编程序在64位Ubuntu上的汇编和连接
  9. 三星大翻身?Galaxy Fold已售出100万台,进账160亿元?结果尴尬了…
  10. android 画扇形进度条,css绘制扇形进度条
  11. python摄像头人脸识别代码_Python3利用Dlib19.7实现摄像头人脸识别的方法
  12. python测验6_Python语言程序设计 - 测验6: 组合数据类型 (第6周)
  13. 密码模块安全技术要求
  14. python通过scapy模块进行arp断网攻击
  15. word一键生成ppt 分页_word怎么分页,这3种方法简单快捷
  16. Coherence X for mac(网站转换为mac应用的工具)
  17. java线程状态和状态切换
  18. echarts tooltip层级
  19. 养育女孩(成长版)点燃孩子兴趣的火花
  20. 携程网呼叫中心落户永川

热门文章

  1. in the java search_elasticsearch which: no java in (/sbin:/bin:/usr/sbin:/usr/bin)
  2. python 退出程序_Python:用Ctrl+C解决终止多线程程序的问题!(建议收藏)
  3. mysql 重复字段查询及排除重复值
  4. luogu P2257 YY的GCD
  5. Siamese Network理解
  6. webpack常用配置
  7. [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?
  8. Ruby 学习笔记3
  9. Redis调用及使用
  10. linux 内核代码构架图