如何快速入门使用Dapr构建NodeJS的云原生微服务应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1478个文字,预计阅读时间需要6分钟。
目录 + 安装 Dapr CLI + 本地环境中初始化 Dapr + 运行初始化 CLI 命令 + 验证容器是否正在运行 + 验证组件目录是否已初始化 + 使用 Dapr API 运行 Dapr sidecar + 保存状态 + 获取状态 + 删除状态 + 上手实战指南
目录
- 安装 Dapr CLI
- 本地环境中初始化 Dapr
- 运行初始化 CLI 命令
- 验证容器是否正在运行
- 验证组件目录是否已初始化
- 使用 Dapr API
- 运行 Dapr sidecar
- 保存状态
- 获取状态
- 删除状态
- 上手实战指南
- 1. 服务调用
- 示例仓库
- 运行 order-processor 服务
- 运行 checkout 服务
- 查看服务调用输出
- 2. 状态管理
- 操纵服务状态
- 查看 order-processor 输出
- 3. 发布和订阅
- 订阅 topic
- 发布 topic
- 查看发布/订阅输出
- 4. 输入和输出绑定
- 在本地运行 PostgreSQL Docker 容器
- 查看 job 的输出
- components\binding-cron.yaml 组件文件
- 5. Secrets 管理
- 检索 secrets
- order-processor 服务
- local-secret-store.yaml 组件
- 6. 官方示例
Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 确保开发人员专注于编写业务逻辑,不必分神解决分布式系统难题,从而显著提高了生产力。Dapr 降低了构建微服务架构类现代云原生应用的门槛。
安装 Dapr CLI
MacOS & Dapr 1.8:
sudo curl -fsSL raw.githubusercontent.com/dapr/cli/master/install/install.sh | /bin/bash
Linux/Windows 安装方式:
docs.dapr.io/getting-started/install-dapr-cli/
本地环境中初始化 Dapr
Dapr 初始化包括:
- 运行一个用于状态存储和消息代理的 Redis 容器实例
- 运行一个用于提供可观察性的 Zipkin 容器实例
- 创建具有上述组件定义的默认组件文件夹
- 运行用于本地 actor(我们的服务) 支持的 Dapr placement 服务容器实例
运行初始化 CLI 命令
dapr init
验证 Dapr 版本
dapr -v CLI version: 1.8.0 Runtime version: 1.8.0
验证容器是否正在运行
如前所述,dapr init 命令会启动几个容器,这些容器将帮助您开始使用 Dapr。 验证您有运行 daprio/dapr、openzipkin/zipkin 和 redis 映像的容器实例:
验证组件目录是否已初始化
在 dapr init 上,CLI 还会创建一个默认组件文件夹,其中包含几个 YAML 文件,其中包含状态存储、Pub/sub 和 Zipkin 的定义。Dapr sidecar 将读取这些组件并使用:
- 用于状态管理和消息传递的 Redis 容器。
- 用于收集踪迹的 Zipkin 容器。
通过打开您的组件目录进行验证:
- Windows, 在
%UserProfile%\.dapr下 - Linux/MacOS, 在
~/.dapr下
ls $HOME/.dapr bin components config.yaml
使用 Dapr API
运行 Dapr sidecar 并试用 state API
运行 Dapr sidecar
dapr run 命令启动一个应用程序,以及一个 sidecar。
启动一个 Dapr sidecar,它将在端口 3500 上侦听名为 myapp 的空白应用程序:
dapr run --app-id myapp --dapr-localhost:3500/v1.0/state/statestore
获取状态
使用带有 key 为 name 的状态检索您刚刚存储在 state 中的对象。在同一终端窗口中,运行以下命令:
curl localhost:3500/v1.0/state/statestore/name
查看状态如何存储在 Redis 中
docker exec -it dapr_redis redis-cli
列出 Redis 键以查看 Dapr 如何使用您提供给 dapr run 的 app-id 作为 key 的前缀创建键值对:
keys * "myapp||name"
运行以下命令查看状态值:
hgetall "myapp||name" 1) "data" 2) "\"Bruce Wayne\"" 3) "version" 4) "1"
使用以下命令退出 Redis CLI:
exit
删除状态
在同一终端窗口中,从状态存储中删除 name 状态对象。
curl -v -X DELETE -H "Content-Type: application/json" localhost:3500/v1.0/state/statestore/name
上手实战指南
所有官方示例笔者均在 MacOS/NodeJs v16.16.0 下实战完成。
1. 服务调用
使用 Dapr 的服务调用构建块,您的应用程序可以与其他应用程序可靠且安全地通信。
示例仓库
git clone github.com/dapr/quickstarts.git
运行 order-processor 服务
从 quickstarts 的根目录导航到 order-processor 目录。
cd service_invocation/javascript/github.com/dapr/quickstarts.git
到此这篇关于NodeJS基于Dapr构建云原生微服务应用,从0到1快速上手指南的文章就介绍到这了,更多相关NodeJS云原生微服务应用内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!
本文共计1478个文字,预计阅读时间需要6分钟。
目录 + 安装 Dapr CLI + 本地环境中初始化 Dapr + 运行初始化 CLI 命令 + 验证容器是否正在运行 + 验证组件目录是否已初始化 + 使用 Dapr API 运行 Dapr sidecar + 保存状态 + 获取状态 + 删除状态 + 上手实战指南
目录
- 安装 Dapr CLI
- 本地环境中初始化 Dapr
- 运行初始化 CLI 命令
- 验证容器是否正在运行
- 验证组件目录是否已初始化
- 使用 Dapr API
- 运行 Dapr sidecar
- 保存状态
- 获取状态
- 删除状态
- 上手实战指南
- 1. 服务调用
- 示例仓库
- 运行 order-processor 服务
- 运行 checkout 服务
- 查看服务调用输出
- 2. 状态管理
- 操纵服务状态
- 查看 order-processor 输出
- 3. 发布和订阅
- 订阅 topic
- 发布 topic
- 查看发布/订阅输出
- 4. 输入和输出绑定
- 在本地运行 PostgreSQL Docker 容器
- 查看 job 的输出
- components\binding-cron.yaml 组件文件
- 5. Secrets 管理
- 检索 secrets
- order-processor 服务
- local-secret-store.yaml 组件
- 6. 官方示例
Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。Dapr 确保开发人员专注于编写业务逻辑,不必分神解决分布式系统难题,从而显著提高了生产力。Dapr 降低了构建微服务架构类现代云原生应用的门槛。
安装 Dapr CLI
MacOS & Dapr 1.8:
sudo curl -fsSL raw.githubusercontent.com/dapr/cli/master/install/install.sh | /bin/bash
Linux/Windows 安装方式:
docs.dapr.io/getting-started/install-dapr-cli/
本地环境中初始化 Dapr
Dapr 初始化包括:
- 运行一个用于状态存储和消息代理的 Redis 容器实例
- 运行一个用于提供可观察性的 Zipkin 容器实例
- 创建具有上述组件定义的默认组件文件夹
- 运行用于本地 actor(我们的服务) 支持的 Dapr placement 服务容器实例
运行初始化 CLI 命令
dapr init
验证 Dapr 版本
dapr -v CLI version: 1.8.0 Runtime version: 1.8.0
验证容器是否正在运行
如前所述,dapr init 命令会启动几个容器,这些容器将帮助您开始使用 Dapr。 验证您有运行 daprio/dapr、openzipkin/zipkin 和 redis 映像的容器实例:
验证组件目录是否已初始化
在 dapr init 上,CLI 还会创建一个默认组件文件夹,其中包含几个 YAML 文件,其中包含状态存储、Pub/sub 和 Zipkin 的定义。Dapr sidecar 将读取这些组件并使用:
- 用于状态管理和消息传递的 Redis 容器。
- 用于收集踪迹的 Zipkin 容器。
通过打开您的组件目录进行验证:
- Windows, 在
%UserProfile%\.dapr下 - Linux/MacOS, 在
~/.dapr下
ls $HOME/.dapr bin components config.yaml
使用 Dapr API
运行 Dapr sidecar 并试用 state API
运行 Dapr sidecar
dapr run 命令启动一个应用程序,以及一个 sidecar。
启动一个 Dapr sidecar,它将在端口 3500 上侦听名为 myapp 的空白应用程序:
dapr run --app-id myapp --dapr-localhost:3500/v1.0/state/statestore
获取状态
使用带有 key 为 name 的状态检索您刚刚存储在 state 中的对象。在同一终端窗口中,运行以下命令:
curl localhost:3500/v1.0/state/statestore/name
查看状态如何存储在 Redis 中
docker exec -it dapr_redis redis-cli
列出 Redis 键以查看 Dapr 如何使用您提供给 dapr run 的 app-id 作为 key 的前缀创建键值对:
keys * "myapp||name"
运行以下命令查看状态值:
hgetall "myapp||name" 1) "data" 2) "\"Bruce Wayne\"" 3) "version" 4) "1"
使用以下命令退出 Redis CLI:
exit
删除状态
在同一终端窗口中,从状态存储中删除 name 状态对象。
curl -v -X DELETE -H "Content-Type: application/json" localhost:3500/v1.0/state/statestore/name
上手实战指南
所有官方示例笔者均在 MacOS/NodeJs v16.16.0 下实战完成。
1. 服务调用
使用 Dapr 的服务调用构建块,您的应用程序可以与其他应用程序可靠且安全地通信。
示例仓库
git clone github.com/dapr/quickstarts.git
运行 order-processor 服务
从 quickstarts 的根目录导航到 order-processor 目录。
cd service_invocation/javascript/github.com/dapr/quickstarts.git
到此这篇关于NodeJS基于Dapr构建云原生微服务应用,从0到1快速上手指南的文章就介绍到这了,更多相关NodeJS云原生微服务应用内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

