tnblog
首页
视频
资源
登录

Dapr 官方教程第一章(Hello World)

7586人阅读 2021/8/27 15:24 总访问:3467640 评论:0 收藏:0 手机
分类: 云产品

Dapr 官方教程第一章(Hello World)


本教程将演示如何在您的机器上本地运行 Dapr。您将部署一个 Node.js 应用程序,该应用程序订阅消息并将其持久化。
(简单来说就是做一些状态管理大致如下)


在这之后,将部署一个Python应用程序充当发布者,去调用并修改Node应用的状态值。


默认都是使用的Redis。

先决条件


本快速入门要求您在计算机上安装以下内容:
————Docker
————Node.js version 8 or greater
————Python 3.x 注意:在 Windows 上运行此快速入门时,最好从 python.org 而不是从 Windows 商店安装 Python。
————Postman [可选]

安装好Dapr

  1. wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash
  2. dapr init

理解代码


下载代码到本地:

  1. git clone https://github.com/dapr/quickstarts.git
  2. cd quickstarts/hello-world


执行cat app.js查看app.js代码。

使用 Dapr 运行 Node.js 应用程序


安装依赖包

  1. npm install


这将安装expressbody-parser中显示的依赖项package.json
使用 Dapr 运行 Node.js 应用程序

  1. dapr run --app-id nodeapp --app-port 3000 --dapr-http-port 3500 node app.js

--app-port应用程序运行的端口(这里的Node应用是3000端口)。关于代码中StateStoreName的名字的定义为什么是statestore呢?那是因为存储状态定义的名称叫statestore,定义的路径在~/.dapr

  1. const stateStoreName = `statestore`;
  2. const stateUrl = `http://localhost:${daprPort}/v1.0/state/${stateStoreName}`;

向服务发布消息


接着我们向node的sidecar,通过访问neworder方法(添加/修改)orderId数据

  1. dapr invoke --app-id nodeapp --method neworder --data '{"data": { "orderId": "42" } }'
  2. # 或者请求链接也可以
  3. curl -XPOST -d @sample.json -H "Content-Type:application/json" http://localhost:3500/v1.0/invoke/nodeapp/method/neworder


我们可以通过Zipkin看得很清楚。

确认成功持久化


我们来看看是否将状态保存到了Redis中去了。也就是访问我们刚刚定义的order方法

  1. dapr invoke --app-id nodeapp --method order --verb GET
  2. # 或者
  3. curl http://localhost:3500/v1.0/invoke/nodeapp/method/order

到此为止,我们完成了第一幅图的案例制作。

使用 Dapr 运行 Python 应用程序


也就是我们的app.py

我们可以看到该程序就是每隔一秒去修改orderId的数据。


我们开始运行这个应用程序。

  1. # 安装依赖
  2. pip3 install requests
  3. # 使用 Dapr 启动 Python 应用程序
  4. dapr run --app-id pythonapp python3 app.py


我们再来看看以前的node程序,我们会发现它在不断的修改

清理

  1. dapr stop --app-id nodeapp
  2. dapr stop --app-id pythonapp


欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

Dapr 安装与介绍

Dapr 安装与介绍[TOC] Dapr 介绍Github: https://github.com/dapr/daprDapr是一种可移植的,事件驱动的,无服务器运行时...

Dapr 简单使用的内置API

Dapr 简单使用的内置API[TOC] 您的本地环境具有 Dapr sidecar 二进制文件以及状态管理和消息代理(均使用 Redis)的默认组...

Dapr 定义一个组件

Dapr 定义一个组件[TOC] 在上一步中,您调用了 Dapr HTTP API 来从 Redis 支持的状态存储中存储和检索状态。Dapr通过初始...

Dapr 官方教程第二章(Hello World Kubernetes)

Dapr 官方教程第二章(Hello World Kubernetes)[TOC] 本教程将帮助您在 Kubernetes 集群中使用 Dapr。您将从Hello World部...

Dapr 官方教程第三章(分布式计算器)

Dapr 官方教程第三章(分布式计算器)[TOC] 本快速入门通过分布式计算器展示了 Dapr 的方法调用和状态持久性功能,其中每个...

Dapr 官方教程第四章(发布订阅)

Dapr 官方教程第四章(发布订阅)[TOC] 在本快速入门中,您将创建一个发布者微服务和两个订阅者微服务,以演示 Dapr 如...

Dapr 官方教程第五章(Dapr 绑定kafka)

Dapr 官方教程第五章(Dapr 绑定kafka)[TOC] 在本快速入门中,您将创建两个微服务,一个具有输入绑定,另一个具有输出绑定...

Dapr .netcore与go的方法调用

Dapr .netcore与go的方法调用[TOC] 主要回顾一下dapr是如何调用方法的。这里是通过.netcore程序调用go程序中的方法。本章...

Dapr .NetCore 调用方法

Dapr .NetCore 调用方法[TOC] 创建客户端项目(InvokeMethod) 在Program类中设置日志控制台输出,在 launchSettings.jso...

Dapr .NetCore 状态管理

Dapr .NetCore 状态管理[TOC] 使用状态管理,您的应用程序可以将数据作为键/值对存储在支持的状态存储中。使用状态管理时...

Dapr .NetCore grpc调用

Dapr .NetCore grpc调用[TOC] 本文介绍如何使用 Dapr 连接使用 gRPC 的服务。通过使用 Dapr 的 gRPC 代理功能,您可以使用...

Dapr .NetCore 订阅与发布(上)

Dapr .NetCore 订阅与发布[TOC] 介绍Pub/Sub 是分布式系统中的一种常见模式,具有许多想要利用解耦异步消息传递的服务。使...

Dapr .NetCore 订阅与发布(下)

Dapr .NetCore 订阅与发布(下)[TOC] 解决关于运行是报错问题我们将为InvokeMethodServerAPI项目做一些修改。首先添加一些...

Dapr .NetCore Actor

Dapr .NetCore Actor[TOC] Actor简介简单来讲就是锁的作用,可以用作单线程调用实例,起到加锁的效果。解决了并发抢票的。...

Dapr .NetCore 绑定输入输出

Dapr .NetCore 绑定输入输出[TOC] 输入绑定简单来说通过你的应用所对应的dapr边车绑定队列的消息处理,但是这个消息中间件...
这一世以无限游戏为使命!
排名
2
文章
634
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术