如何快速入门使用Dapr构建NodeJS的云原生微服务应用?

2026-03-31 17:011阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1478个文字,预计阅读时间需要6分钟。

如何快速入门使用Dapr构建NodeJS的云原生微服务应用?

目录 + 安装 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/dapropenzipkin/zipkinredis 映像的容器实例:

                      验证组件目录是否已初始化

                      dapr init 上,CLI 还会创建一个默认组件文件夹,其中包含几个 YAML 文件,其中包含状态存储、Pub/subZipkin 的定义。Dapr sidecar 将读取这些组件并使用:

                      如何快速入门使用Dapr构建NodeJS的云原生微服务应用?

                      • 用于状态管理和消息传递的 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构建NodeJS的云原生微服务应用?

                      目录 + 安装 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/dapropenzipkin/zipkinredis 映像的容器实例:

                                          验证组件目录是否已初始化

                                          dapr init 上,CLI 还会创建一个默认组件文件夹,其中包含几个 YAML 文件,其中包含状态存储、Pub/subZipkin 的定义。Dapr sidecar 将读取这些组件并使用:

                                          如何快速入门使用Dapr构建NodeJS的云原生微服务应用?

                                          • 用于状态管理和消息传递的 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云原生微服务应用内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!