1.9 KiB
1.9 KiB
TODO
协议层
高优先级
- 将
message.proto收敛为efka与iot共用的一份单一事实来源,避免协议定义漂移和双端重复维护。
中优先级
- 增强 protobuf 映射和 Docker JSON 生成相关的自动化契约测试。
Docker 层
高优先级
- 将
docker_commands拆分为更清晰的层次:Docker HTTP 客户端、Docker JSON 构造层、以及 efka 本地补丁逻辑。 - 明确
docker_task_reporter的投递语义;当前只有内存缓冲,还缺少持久化能力和队列上限控制。
中优先级
- 丰富
docker_deploy_manager的任务跟踪状态,把部署元数据、耗时、阶段、失败原因等信息纳入统一管理,避免后续再回头重构。 - 统一
docker_container_service的返回结构,避免调用方分支处理ok | {ok, binary()} | {error, binary()}这种混合形式。 - 消除
docker_commands中重复的 Docker HTTP 响应解析逻辑。
低优先级
- 对于像
docker_events.erl这样当前未启用的模块,要么清理掉,要么补充说明其保留原因。
订阅与通道层
高优先级
- 将
efka_subscription当前基于列表扫描的匹配方式替换为更可扩展的索引结构,例如 trie 或基于 ETS 的索引。
中优先级
- 继续收敛
efka_iot_client的职责,将传输层状态管理与 request/cast 协议处理进一步拆开。 - 评估并落实
efka_service_channel中subscribed_topics集合的用途;如果只是被动保存状态,则应简化。
低优先级
- 如果
efka_iot_client的缓存指标量继续增长,可以为缓存刷出增加批量发送或节流机制。
基础设施层
低优先级
- 如果上传相关能力已经不再属于当前运行时,移除或补充说明残留的启动逻辑,例如
ensure_upload_dir/0。 - 评估是否将
efka_logger与 OTPlogger统一,避免长期维护两套日志链路。