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/v1alpha1

kind: Component

metadata:

 name: my-secret-store

 namespace: default

spec:

 type: secretstores.local.file

 version: v1

 metadata:

 \- name: secretsFile

  value: C:/Edward/mysecrets.json

 \- name: nestedSeparator

  value: ":"

第三步:运行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

相关文章:

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows平台上安装Dapr,可以按照以下步骤进行操作: 1. 首先,按照引用中的指示,在Powershell中运行以下命令来安装最新的Dapr CLI: ``` powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex" ``` 这将把Dapr CLI安装到C:\dapr目录,并将此目录添加到用户的PATH环境变量中。 2. 接下来,按照引用中的指示,使用命令行操作来启动Dapr服务端和客户端: - 在dapr-sdk-parent目录下使用Maven打包整个项目,生成打包文件dapr-java-sdk-examples-exec.jar。 - 在java-sdk-master\examples目录下执行以下命令启动服务端: ``` dapr run --app-id invokedemo --app-port 3000 -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.invoke.http.DemoService -p 3000 ``` - 在新开的命令行窗口中执行以下命令启动客户端,并调用服务端发送信息: ``` dapr run --app-id invokeclient -- java -jar target/dapr-java-sdk-examples-exec.jar io.dapr.examples.invoke.http.InvokeClient "message one" "message two" ``` 通过按照以上步骤操作,您就可以在Windows平台上成功安装和使用Dapr。请注意,这只是一个简单的示例,您还可以根据实际需求来使用Dapr的其他功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Windows环境下Dapr入门](https://blog.csdn.net/sD7O95O/article/details/115300546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [windows10下dapr java-sdk中的Demo运行及搭建dapr Java开发环境,代码调试](https://blog.csdn.net/haohaifeng002/article/details/116598118)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值