# et-go et-go 20240919重建gitea项目 ## 功能描述 对标东江平台本地化et, 旨在使用golang进行改写,提高et数据处理能力 et-go采用主副节点模式: 一主多从,进行数据处理。 主节点负责订阅kafka数据,node节点负责实际的数据处理流程 node节点上线后,会自动按照配置文件里面的node.remoteMasterHost 地址,向master节点注册 node节点退出下线时,会向master节点注销 ## 部署 ### 部署信息 1. 使用yaml启动 2. yaml 包含三部分: - StatefulSet: et主副节点控制,最少副本数=2 (即 1个master,1个node), 多开比如设置 副本数=3 (即 1个master,2个node),以此类推 - Service: 主要用于master的注册服务(目前只有node 使用) - ConfigMap: 配置文件挂载(master,node共用) ### 部署方式: microk8s 部署参考 microk8s部署 #### microk8s 部署 - 镜像格式 : registry.ngaiot.com/local/git-etgo:28 - jenkins : https://jenkins.ngaiot.com/job/git-etgo/ - yaml : https://gitea.ngaiot.com/DevOps/et-go/src/branch/dev/build/etgo.yaml #### 运行信息参考 mater节点 et-0 node节点 et-1 ## 涉及变更 ### 前端公式保存 测点信息的配置保存 新增 formula_id 列 **前端保存测点时,需要存储测点公式id** 涉及语句: ALTER TABLE "t_device_sensor" ADD COLUMN formula_id INTEGER; ### influxDB存储 数据存储分为三个bucket 功能和es 数据对应 - raw 存储设备数据 以 deviceId 作为measurement - theme 存储测点数据 以 facotr_${facotrId} 作为measurement,如factor_15 - vib 存储振动数据 以 deviceId 作为measurement ### 测点数据推送 - MQTT方式: topic 主题格式: etpush/${structId}/${stationId} 如:etpush/1/40 - kafka方式 topic 主题格式: etpush body 内容格式: 包含测点id,名称,数据,时间 ```json { "id": 40, "name": "DJ-DIS-B01-002-01", "data": { "displacement": -11.2766 }, "collect_time": "2024-07-19T16:00:00.00128681+08:00" } ```