重构完成后沉淀的关键架构决策(ADR),给自己看的备忘。
90-重构路线.md / 91-重构备忘.md / 92-重构进度.md 三份过程文档会在重构收尾时删除,关键决策、权衡、反悔条件压到这里留档。新增一条决策时,复制以下模板到 §2 列表内。编号连续,不复用已弃用编号。
### ADR-NN 决策标题
- **状态**:已采纳 / 被 ADR-MM 取代 / 已弃用
- **背景**:当时面对的问题、约束、触发决策的场景。
- **决策**:最终选了什么方案,一句话。
- **后果**:带来的好处、新增的代价、影响到的模块。
- **候选方案**:考察过但否决的方案,以及否决理由。
- **反悔条件**:什么条件下会重新评估或反悔。
spark-sql-starter 的 get_date_range 支持 20260401-20260410 范围格式自动展开;DataX 入口从未用过。本项目调度用 DolphinScheduler,DS 原生支持业务日期补数(时间区间选定后,按调度周期逐日实例化 task)。用户老 DS 配置即 -start-date=${dt} -stop-date=${cdt} 单日传参。start_date / stop_date 对应一个 dt 分区);按天展开 / 批量补数 / 回溯全部交由 DS 工作流承担。workspace/ 下临时 dispatchersingle-job-starter.sh 内置 -random + workers.ini 权重加权随机选 worker + ssh 分发。DS 自身亦有 worker group 机制(group 绑定机器列表、task 落到 group 内一台 worker)。两层叠加:DS 选 node01 → node01 上 DataX 再 random 到 node03。【查证 kb/91 §4.4】:用户老 DS 配置不传 -random,说明 DS 层已完成分发,DataX 只在本机跑——两层分发在实际运营中就没被"同时启用"过select_worker 等同"返回 current_host",ssh 分支可删,workers.ini 可移除worker.py / ssh 远端执行 / workers.ini 可裁);维护成本下降-parallel)场景无法在 DataX 层散到多 worker,要分布式必须在 DS 层拆成多 task