多个独立产品,如何共用一套工程基础
从 SignalX、Wools 到 Hllshare,记录数据生产、业务服务与产品界面的分工,以及哪些能力值得复用。
独立开发的项目多起来后,最先重复出现的往往不是页面,而是用户认证、内容管理、数据查询和运营配置。每个项目都重新实现一遍,短期看起来方便,长期却会留下多套略有差异的基础设施。
按职责拆开,而不是按项目复制
目前的本地项目采用三层分工:数据生产层负责采集、清洗和计算;业务服务层负责 API、认证和权限;产品层负责自己的页面与交互。Hllshare、SignalX 和 Wools 并不需要共享同一种界面,但可以共享同一个稳定的业务边界。
先复用真正重复的东西
统一登录不只是把登录表单做成一个组件。令牌刷新、用户状态、权限判断和后台菜单需要有同一个事实来源。否则,即使页面外观一致,业务规则仍可能在不同产品里分叉。
- 数据生产留在 Crawler Studio,让采集和计算可以单独运行。
- 用户、权限、内容和产品数据接口留在 Service Studio。
- Hllshare Admin 作为统一运营入口,按服务返回的权限显示菜单。
- 产品前端只持有交互状态,不把认证和数据生产逻辑复制到浏览器。
不必一次迁完所有历史项目
AI 电商创意库目前仍保有自己的数据访问与导入脚本。面对这样的历史状态,先把边界记录清楚,再按具体需求迁移,比为了架构一致而一次性重写更容易控制成本。
好的基础设施应该减少下一次工作的阻力
衡量复用是否有效,不是看目录拆得有多整齐,而是看新增一个功能时,是否知道应该在哪一层实现。能清楚回答「谁负责生产数据、谁负责判断权限、谁负责用户体验」,通常已经减少了很多无意义的往返。