• Dapr初体验之Hello World


    Dapr介绍

    Dapr - Distributed Application Runtime

    安装Dapr

    根据官方手册安装,由于安装镜像源使用了github导致下载失败。所以手动下载,复制到了服务器路径 /usr/local/bin 目录下。
    解压缩压缩文件 tar xf dapr_linux_amd64.tar.gz
    运行 dapr 检查安装状态

    官方教程 Hello World

    1. Clone 官方quickstarts仓库
      git clone -b v1.5.0 https://github.com/dapr/quickstarts.git
      当然,如果服务器没有安装git需要先安装git yum install -y git,虽然也是从github克隆代码,一般情况下比较顺利。
      如果你的网络不给力,也可以从码云上克隆代码。
      git clone -b v1.5.0 https://gitee.com/balabiu/dapr-quickstarts.git
    2. 启动 Dapr
      必要条件,已经安装docker服务。
    • 运行命令 dapr init 初始化
    • 运行命令 dapr --version 检查版本
    1. 查看示例代码
    • 其中一个示例服务是使用node.js开发的,首先你需要检查你是否有node.js运行时。如果你没有安装nodejs,使用包管理器安装dnf module install nodejs:16,使用node -v检查安装状态。
      现在,你可以进入到文件夹 quickstarts/hello-world/node 查看 app.js 阅读以下程序逻辑。
      虽然没有写过nodejs代码,但示例代码是很简单的,通过简单阅读基本逻辑是启动一个http服务端,监听几个接口的端节点。
      很简单的三个接口,访问node启动的服务接口,操作dapr。
    接口 方法 逻辑
    /order GET 请求 http://localhost:3500/v1.0/state/statestore/order 接口,返回订单状态
    /neworder POST 请求 http://localhost:3500/v1.0/state/statestore/order 接口,新增订单状态
    /order/:id DELETE 请求 http://localhost:3500/v1.0/state/statestore/order 接口,删除订单状态
    1. 使用Dapr运行nodejs应用
    • 进入 quickstarts/hello-world/node 目录
    • 运行 npm install 还原包
    • 运行 dapr run --app-id nodeapp --app-port 3000 --dapr-http-port 3500 node app.js 启动nodejs app
    1. 测试服务
    • 使用POST方法请求接口 http://1.15.252.231:3000/neworder 新增订单,请求数据如下:
    {
        "data": {
            "orderId": "42"
        }
    }
    

    • 使用GET方法请求接口 http://1.15.252.231:3000/order,返回订单数据Id
    • 使用DELET方法请求接口 http://1.15.252.231:3000/order/42,删除数据42
    1. 使用Dapr运行Python应用
      这个应用会持续访问nodejs应用更新订单Id接口。
    • 进入 hello-world/python 目录下
    • 使用dapr启动python应用 dapr run --app-id pythonapp python3 app.py。当然,上面的nodejs应用必须保持运行。
    1. 停止dapr应用
    • 列表 dapr list
    • 停止nodejs应用 dapr stop --app-id nodeapp
    • 停止python应用 dapr stop --app-id pythonapp

    总结

    通过这次初体验,得到的知识点如下

    • Dapr默认初始化安装darp init,必须有docker环境。
    • 通过Dapr的服务调用,进行了一个状态写入和查询。
    • 使用dapr运行程序,是将程序注册到了dapr。--app-id指定应用名称,--dapr-http-port指定应用的端口后,有这这两个参数,为以后的服务调用做准备。(这个应该就是dapr的边车sidecar模式,不影响原来的程序,通过启动程序时候进行注册来来进行服务发现调用)
  • 相关阅读:
    常见的HTTP状态码(HTTP Status Code)说明
    eclipse tomcat maven热部署
    log4j.properties 详解与配置步骤
    js玩命加载……
    git学习
    vim学习笔记
    Android中在不同activity中进行自定义广播的解析
    Android中本地广播的实现
    Android中自定义广播的实现
    Android中获得网络状况的实现
  • 原文地址:https://www.cnblogs.com/magicbowie/p/15589542.html
Copyright © 2020-2023  润新知