# go-first **Repository Path**: lmud/go-first ## Basic Information - **Project Name**: go-first - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-30 - **Last Updated**: 2026-09-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dod-iot-driverCenter(Go) 契约兼容替换 Java `dod-iot-drivercenter`:编排驱动插件,不采集、不连库。 ## 进度 驱动中心 **P0–P5 主路径已落地**: | 阶段 | 能力 | |------|------| | P0 | 配置、区域租约门禁、数据中心 HTTP | | P1 | MQTT 控制面、注册/心跳、gRPC 9085 拉档转发 | | P2 | 制品下载缓存、`java -jar` 拉起/杀进程树/`max-restart` | | P3 | 分片装箱落库、设备变更编排、connect/start-collect | | P4 | 启动 clear/grace/reshard、健康重启 | | P5 | 监控/Loki 旁路(失败不阻断) | 同仓还有 Go 采集插件(`modbus`/`opcua`/`s7`/`rawtcp`),可对接本中心或 Java 中心。 ## 构建与测试 ```bash go test ./internal/config/ ./internal/contract/ ./internal/datacenter/ ./internal/mqtt/ ./internal/grpcserver/ ./internal/artifact/ ./internal/process/ ./internal/registry/ ./internal/shard/ ./internal/orchestrate/ ./internal/runtime/ ./internal/monitor/ ./internal/lease/ go build -o bin/drivercenter ./cmd/drivercenter ``` ## 启动驱动中心 ```bash copy configs\config.example.yaml configs\config.yaml # 填写:region.code、mqtt、internal-api.token、plugin-mqtt scripts\start-drivercenter.bat # 或 go run ./cmd/drivercenter --config configs/config.yaml ``` 关键配置: - `dod-iot.driver.instance.process-mode`:`hybrid`(默认)| `launch-only` | `register-only` - `dod-iot.driver.region.code`:一区一主必填 - `dod-iot.mqtt.*`:控制面 Broker - `dod-iot.driver.instance.plugin-mqtt.*`:插件 MQTT 账号(与中心账号分离) 环境变量:`DOD_IOT_API_URL` / `IOT_INTERNAL_API_TOKEN` / `DRIVER_CENTER_GRPC_PORT` / `DOD_IOT_DRIVER_REGION_CODE` 租约失败时进程退出,不会启 MQTT/gRPC/编排。 ## 联调提示 - 手工 Go 插件联调:中心用 `register-only`,或 `hybrid` + 插件 `--allow-center-launch=false` - `launch-only`:仅中心托管(`--mgr=1`)进程可注册 - 插件 `instanceId` 由 `driver/registry/assign/{correlationId}` 分配