悉思多站点架构设计方案完成评审并确定,站点之间的数据边界、配置边界与路由边界在架构层面固定下来。方案的核心是把站点标识作为贯穿全表的基础字段,任何一次数据读写都带站点条件,多站点隔离从编码约定上升为架构约束。
多站点隔离在数据层、配置层与呈现层分别落地,三层各有明确的判定依据,避免隔离规则散落在业务代码里。
| 层级 | 隔离对象 | 实现方式 |
|---|---|---|
| 数据层 | 内容、栏目、会员、订单等业务表 | 站点标识作为查询必备条件 |
| 配置层 | 站点参数、上传策略、跳转规则 | 按站点维度独立配置并覆盖 |
| 呈现层 | 模板、静态资源、证书密钥 | 按站点目录物理隔离 |
三层边界确定后,多站点隔离的验证方式随之明确:任取一条业务数据,都能沿站点标识回溯到唯一站点;任一站点配置变更,都不会影响其他站点的运行表现。
域名绑定列表是站点识别的入口,启动阶段构建域名到站点标识的查找表,请求进入后按主机名完成站点判定。识别结果写入请求上下文,后续的配置读取、模板选择与数据查询都基于同一份判定,避免同一请求内出现站点漂移。
站点配置采用全局默认加站点覆盖的结构:全局项定义基础行为,站点项按需覆盖,未覆盖的键回退全局值。覆盖关系在配置层面显式声明,站点之间的差异不需要靠代码分支实现。
覆盖顺序的确定方式是按层级由内向外:站点项优先于全局项,域名级项优先于站点项。同一配置键的生效值可以在后台页面上直接核对,配置冲突在保存阶段提示。
路由按站点前缀与栏目前缀分层规划,站点之间的路径空间互不重叠,栏目级路径可以按需自定义。模板与静态资源按站点目录存放,站点之间的模板互不引用,改版与回滚以目录为单位进行。
证书与密钥同样按站点独立存放,证书续签与替换只作用于目标站点,多站点环境下的证书运维不需要停机窗口。
隔离规则需要可验证,否则边界只在文档里成立。方案的验证方式分两步:静态核对表结构,确认业务表都带有站点标识字段与相应索引;动态核对请求链路,确认每次查询都携带站点条件。
动态核对覆盖三类典型请求:列表查询、详情查询与统计查询。三类请求的执行语句都要求可见站点条件,条件缺失视为缺陷并纳入发布前检查。检查方式与回归用例结合后,隔离能力在版本迭代中不会因为新增接口而退化。
配置与模板的隔离验证同样按清单执行:配置读取比对生效值来源,模板加载比对实际文件路径,两项都比对到具体站点,而不是只看结果页面是否正常。
评论
加载中...