混合部署

更新时间:2024-08-02 02:35:51下载pdf

混合部署模式支持在一个 SaaS 里,同时运行自定义开发的微应用,和涂鸦提供的微应用。本文介绍如何为混合部署模式配置您的本地环境,使得您自定义开发的微应用能够顺利运行。

部署说明

您通过 Docker 部署自定义开发的 微应用容器,端上的请求会通过 SaaS 域名路由到您部署的运行时服务上,再根据当前 API 类型,路由到您配置的后端服务或者云服务。

混合部署
  • 涂鸦提供的微应用服务运行在云端,如果您需要完全私有化部署,可 提交工单 联系涂鸦。
  • 建议部署多个 微应用容器 节点,保证高可用。

准备工作

  • 安装 Docker 环境,运行时环境会通过 Docker-Compose 快速启动。关于 Docker 安装指引,请参考 Docker 官网
  • 安装 Node.js:微应用开发工具需使用 Node.js,并且 Node.js 版本 ≥ 14。

部署流程

  1. 下载运行时环境。

    本地进入期望的安装目录,执行下载脚本后解压安装包。

    # 如果您使用 curl
    curl -Ljo sdf-deploy-rt.zip https://github.com/tuya-sat/sdf-deploy/archive/refs/tags/rt.zip
    
    # 如果您使用 wget
    wget https://github.com/tuya-sat/sdf-deploy/archive/refs/tags/rt.zip -O sdf-deploy-rt.zip
    
  2. 下载完成后,解压压缩包。

    unzip sdf-deploy-rt.zip
    

    解压后,得到如下目录结构的文件:

    # sdf-deploy-rt 目录结构
    ├── LICENSE
    ├── README.md
    ├── docker-compose
    │   ├── README.md
    │   └── docker-compose.yml
    │   └── redis
    
  3. 编辑 .env 文件,配置 SaaS 应用的开发者 App KeySecret Key 等参数。

    cd sdf-deploy-rt/docker-compose/    # 进入 docker-compose 目录
    vi .env                          # 编辑 .env 配置文件
    
    # developer 配置信息
    APP_KEY=开发者 App Key
    SECRET_KEY=开发者 Secret Key
    

    配置参数说明

    配置文件 配置参数 说明 取值
    .env OPEN_API 涂鸦开放平台域名
    • 中国数据中心:https://openapi.tuyacn.com
    • 美西数据中心:https://openapi.tuyaus.com
    • 美东数据中心:https://openapi-ueaz.tuyaus.com
    • 中欧数据中心:https://openapi.tuyaeu.com
    • 西欧数据中心:https://openapi-weaz.tuyaeu.com
    • 印度数据中心:https://openapi.tuyain.com
    .env APP_KEY 开发者身份标识 您可以在 SaaS 开发平台,单击右上角 查看开发凭证,获取开发者 App Key
    .env SECRET_KEY 开发者身份密钥 您可以在 SaaS 开发平台,单击右上角 查看开发凭证,获取开发者 Secret Key
    .env CUSTOM_API_URL 开发者后端服务域名 https://your-api-gateway.com
    .env HOST_PORT SaaS 域名端口 默认:80
  4. 启动微应用容器。

    docker compose up
    
    # 低版本 Docker 的 compose 启动指令为 docker-compose up
    

    当出现 mqtt MQTT client status: connect,表示启动成功。

    [+] Running 2/0
     ⠿ Container sdf-redis Created    0.0s
     ⠿ Container sdf-fgw    Created    0.0s
    Attaching to sdf-fgw, sdf-redis
    sdf-redis | 1:C 08 Jun 2023 11:54:08.807 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    ......
    sdf-fgw | 2023-06-08T11:58:15.500Z INFO microadmin request https://micro-app-admin.tuyacn.com/v1.0/sdf/developer/mqtt/auth
    sdf-fgw | 2023-06-08T11:58:15.518Z INFO mqtt MQTT client status: end
    sdf-fgw | 2023-06-08T11:58:15.627Z INFO mqtt MQTT client config:     {"clientId":"sdf_developer_key_clientid_52 ******** 3","username":"sdf_developer_key_username_523 ******** d","password":"6***5","wsUrl":"wss://mqtt-im.tuyacn.com:443/mqtt"}
    sdf-fgw | 2023-06-08T11:58:15.809Z INFO mqtt MQTT client status: connect
    sdf-fgw | 2023-06-08T11:58:15.909Z INFO mqtt MQTT client status: connect
    ......