四、技术栈选型

4.1 核心技术栈

类别

技术 / 组件

版本

用途说明

容器平台

KubeSphere

v4.1.2

集群管理、应用部署、运维监控

物联网平台

ThingsBoard CE

最新稳定版

设备接入、遥测数据管理、告警规则配置

开发框架

芋道源码(Ruoyi-Vue)

最新稳定版

后台管理、表单组件、权限控制

流程引擎

Flowable

6.x

工单流程、审批流程(如预警派单、评价审核)

数据库

MySQL/PostgresSQL

8.0+/14+

业务数据存储(按分层前缀命名)

存储

OpenEBS+Ceph

最新稳定版

本地存储(OpenEBS)+ 共享存储(Ceph)

前端可视化

ECharts/Leaflet

5.x/1.9.x

大屏图表、GIS 地图(区域 / 设施定位)

AI 大模型

豆包 / 通义千问 / OpenAI

最新 API 版

智能识别、决策辅助、客服问答

4.2 数据库设计规范

数据库表按 “六层结构” 设计,前缀区分层级,确保规范统一:

  • 基础信息层(sys_):全系统复用数据(如sys_user用户表、sys_area行政区划表);

  • 业务数据层(biz_):核心业务数据(如biz_asset资产表、biz_event事件表);

  • 关联关系层(rel_):解耦多对多关系(如rel_asset_grid资产 - 网格关联表);

  • 分析统计层(stat_):预计算统计数据(如stat_event_daily事件日统计表);

  • 行业应用层(gen_):行业特化数据(如gen_gas_pipe_mon燃气管网监测表);

  • 大屏总览层(view_):可视化适配数据(如view_overview全局核心指标表)。

五、部署指南

5.1 环境准备

  • 硬件要求

  • Control 节点:3 台,16 核 CPU+16GB 内存 + 500GB 数据盘;

  • Worker 节点:3 台(通用)+3 台(GPU,AI 场景),8 核 CPU+32GB 内存 + 500GB 数据盘;

  • 存储节点:4 台,4 核 CPU+16GB 内存 + 3TB 数据盘(Ceph);

  • 软件要求

  • 操作系统:openEuler 24.03 LTS SP1 x86_64;

  • 容器运行时:Containerd 1.7.13;

  • 部署工具:KubeKey v3.1.7。

5.2 部署步骤

快速搭建

一 需求与环境准备

  • 中间件与版本建议

    • JDK 17 或 21(LTS)
    • Nacos 2.4.x
    • MySQL 8.0
    • Redis 6/7
  • 目标

    • 本地或服务器一键准备好中间件与 Java 运行环境 -JAR 按依赖顺序启动:yudao-gateway → yudao-module-system-server → yudao-module-bpm-server → gc-module-datacenter-server → gc-module-industry-server

  • 快速检查

    • 端口占用排查:8848(Nacos)/ 3306(MySQL)/ 6379(Redis)/ 8080-9000(各服务)

    • 建议将本机或服务器的 hosts 配置指向中间件(如 127.0.0.1 nacos mysql redis)


二 中间件安装与初始化

  • 启动脚本(save as start-middlewares.sh,按需修改密码)

#!/usr/bin/env bash
set -eux

# 变量
MYSQL_ROOT_PW="Root@123456"
REDIS_PW="YourRedisPass"
DB_NAME="nacos"
NACOS_DIR="/opt/nacos"
REDIS_CONF="/etc/redis.conf"

# 关闭防火墙与 SELinux(快速启动场景)
systemctl stop firewalld && systemctl disable firewalld
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

# 关闭交换分区
swapoff -a
sed -i '/\sswap\s/s/^/#/' /etc/fstab

# 安装基础工具
dnf update -y
dnf install -y wget unzip vim net-tools lsof

# JDK 17
dnf install -y java-17-openjdk-devel
java -version

# MySQL 8.0
dnf install -y @mysql:8.0
systemctl enable --now mysqld
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p -e "
  CREATE DATABASE IF NOT EXISTS ${DB_NAME} CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PW}';
  FLUSH PRIVILEGES;
"
echo "[mysql] OK"

# Redis 7
dnf install -y redis
cp ${REDIS_CONF} ${REDIS_CONF}.bak
cat > ${REDIS_CONF} <<EOF
bind 0.0.0.0
port 6379
appendonly yes
requirepass ${REDIS_PW}
daemonize no
pidfile /var/run/redis_6379.pid
EOF
systemctl enable --now redis
redis-cli -a ${REDIS_PW} ping && echo "Redis OK" || echo "Redis FAIL"

# Nacos 2.4.2
curl -O https://github.com/alibaba/nacos/releases/download/2.4.2/nacos-server-2.4.2.tar.gz
tar -xzf nacos-server-2.4.2.tar.gz -C /opt && ln -s /opt/nacos-server-2.4.2 /opt/nacos
mkdir -p /opt/nacos/logs

# 导入 Nacos 库(MySQL 已内置 schema,此处仅示例)
# mysql -uroot -p${MYSQL_ROOT_PW} ${DB_NAME} < /opt/nacos/conf/mysql-schema.sql

# 配置 Nacos 外置库(按需)
# sed -i "/^db.url.0=/c\db.url.0=jdbc:mysql://127.0.0.1:3306/${DB_NAME}?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai" /opt/nacos/conf/application.properties
# sed -i "/^db.user.0=/c\db.user.0=root" /opt/nacos/conf/application.properties
# sed -i "/^db.password.0=/c\db.password.0=${MYSQL_ROOT_PW}" /opt/nacos/conf/application.properties

# 启动 Nacos(单机)
/opt/nacos/bin/startup.sh -m standalone
tail -f /opt/nacos/logs/start.out

echo "All done. Access Nacos: http://127.0.0.1:8848/nacos (nacos/nacos)"

三 平台服务启动

  • 下载并解压平台代码包

  • 按依赖顺序启动 JAR 包

java -jar yudao-gateway.jar
java -jar yudao-module-system-server.jar
java -jar yudao-module-bpm-server.jar
java -jar gc-module-datacenter-server.jar
java -jar gc-module-industry-server.jar

5.3 参考文档

  • 《系统部署架构设计文档》:docs/deployment/系统部署架构``-20251018.md

  • 《ThingsBoard 配置指南》:docs/guide/ThingsBoard_CE配置手册.md

  • 《芋道源码集成指南》:docs/guide/芋道源码二次开发手册.md

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐