WRITING / 2021.01.18

工程日志:模块化渲染结果如何安全混排

当多个模块独立产出内容片段时,如何用稳定协议完成组合、排序、去重和兼容。

页面或内容流由多个模块生成时,最初常按固定顺序整块拼接。产品希望模块间穿插后,组合层需要处理排序、占位、去重和失败隔离。

模块返回候选而非最终位置

每个模块输出标准候选项,包括类型、稳定标识、排序特征和渲染数据。最终位置由组合器决定,模块不能依赖“自己一定排在第三块”。

组合规则显式化

规则描述配额、间隔、优先级和冲突处理。规则版本随响应记录,便于复现某次排序结果。

局部失败

单个模块超时不应阻塞整体响应。组合器设置独立预算,使用已返回结果完成布局,并记录缺失模块。

兼容旧客户端

服务端可同时输出旧的分块结构和新的统一列表,或者通过能力字段选择协议。先让消费者理解新结构,再切换生产路径。

模块化的关键是让模块拥有内容自治,却不拥有全局位置控制权。