Skip to content

环境准备 ​

硬件要求 ​

按数据规模选择:

场景CPU内存磁盘说明
试用 / 演示2 核4 GB40 GB少量卡片,建议停用定时同步任务
生产(中小规模)4 核8 GB200 GB万级卡片,开启全量同步
生产(大规模)8 核+16 GB+500 GB+十万级卡片,建议数据库独立部署

磁盘估算:MySQL 数据约 1~2 KB/张卡;日志随同步任务量增长,建议单独挂载并配置轮转。

生产 8 GB 场景的内存分配参考:

服务占用
MySQL1~2 GB
Redis200~500 MB
RabbitMQ300~500 MB
worker-svr500 MB~1 GB(与并发同步卡片数相关)
其余业务服务各 100~200 MB

系统要求 ​

项要求
操作系统Linux x86_64(CentOS 7+ / Ubuntu 20.04+ / Debian 11+)
内核3.10 以上
文件系统ext4 / xfs
时区建议 Asia/Shanghai,与 docker-compose.yml 的 TZ 保持一致

Docker 要求 ​

组件最低版本说明
Docker Engine20.10需支持 healthcheck 与 profiles
Docker Composev2.0(插件版)使用 docker compose 而非 docker-compose

验证:

bash
docker version
docker compose version

docker compose version 需 ≥ v2.0。若只有 docker-compose(v1),请升级到 Compose V2 插件。

镜像仓库 ​

平台镜像发布在阿里云容器镜像服务,仓库类型为公开,无需登录即可拉取。

项值
公网地址crpi-qflrqrxoohlkkvgc.cn-chengdu.personal.cr.aliyuncs.com
VPC 地址crpi-qflrqrxoohlkkvgc-vpc.cn-chengdu.personal.cr.aliyuncs.com
命名空间iotlcm
地域西南1(成都)

所有镜像都放在同一个镜像仓库 iotlcm/iotlcm 下,靠 tag 区分服务与版本:

text
crpi-.../iotlcm/iotlcm:mysql-8.0
crpi-.../iotlcm/iotlcm:redis-7.2
crpi-.../iotlcm/iotlcm:iotlcm-admin-svr-v1.0.4
crpi-.../iotlcm/iotlcm:iotlcm-openapi-v1.0.4
crpi-.../iotlcm/iotlcm:iotlcm-app-server-v1.0.2

tag 格式统一为 <服务名>-<版本>。

地址结构是 <Registry>/<命名空间>/<镜像仓库>:<tag>,即:

text
crpi-...cn-chengdu.personal.cr.aliyuncs.com / iotlcm / iotlcm : iotlcm-admin-svr-v1.0.4
                                           ↑ 命名空间  ↑ 镜像仓库      ↑ tag

docker-compose.yml 里的镜像地址已预置为上述公网地址,一般无需修改。

基础组件也在同一仓库

MySQL、Redis、RabbitMQ、Consul、nginx 同样在这个仓库里(mysql-8.0、redis-7.2 等 tag),不从 Docker Hub 直连(公网不稳定且 tag 会漂)。版本已在编排文件中固定。

阿里云 VPC 地址

若部署在阿里云同地域 ECS 上,可把编排文件里的 Registry 前缀改为 VPC 地址,走内网流量、不消耗公网带宽:

yaml
image: 'crpi-qflrqrxoohlkkvgc-vpc.cn-chengdu.personal.cr.aliyuncs.com/iotlcm/iotlcm:mysql-8.0'

网络与防火墙 ​

仅需对外开放反向代理端口(默认 80 / 443),其余服务端口应限制为内网访问。

bash
# 示例:firewalld 仅放行 80/443
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

默认只监听本机

admin-svr、admin-ui、openapi、app-server、app-web、docs 默认绑定 127.0.0.1,只能本机访问。对外需通过反向代理,见可选服务。

外部依赖(可选) ​

以下能力需要外部账号或服务,不影响平台主流程:

服务用途不配置的影响
短信服务商发送验证码无法发送短信
微信支付在线支付支付功能不可用
飞书运维通知不启动 bot 即可

时序库已内置

流量历史使用的 TDengine 已包含在编排里,由 tdengine-init 服务在首次启动时自动建库建表,无需额外申请或配置:

库分片保留超级表
iotlcm_daily7 天3 年t_sim_card_usage_daily
iotlcm_monthly30 天3 年t_sim_card_usage_monthly

编排使用的版本是 3.3.6.13(公开镜像可得),生产为 3.4.0.9。如需与生产完全一致,可自行构建镜像并替换 docker-compose.yml 中的 tag。

iotLCM 文档中心