功能指南
Hub 联邦内容聚合
从多个 Ech0 实例聚合展示内容的联邦功能
概述
Hub 是 Ech0 的联邦内容聚合功能,可从多个 Ech0 实例拉取并合并展示 Echo 内容。访问路径:/hub。
与 Connect 的关系
- Connect:实例互联的配置管理层——添加、删除、管理其他实例的 URL
- Hub:基于 Connect 数据的内容聚合展示层——拉取并合并展示各实例的 Echo
工作原理
数据拉取
Hub 从所有已连接的实例并行拉取 Echo 数据:
- 每个实例独立维护分页状态和缓冲区
- 请求超时:5 秒
- 使用
Promise.allSettled()处理请求,单个实例失败不影响整体
去重策略
使用 ${hub_url}-${echo_id} 格式的虚拟 Key,通过 Set<string> 保证全局唯一,防止同一内容重复展示。
缓冲合并
各实例的数据先按 createdTs 降序排入独立缓冲区,合并时优先选取时间戳最大的条目,保证时间线的正确顺序。
预加载
当某个实例的缓冲区剩余不足 3 条时,异步触发下一页数据预取,不阻塞主合并循环,保证滚动流畅。
自动离线移除
连接失败的实例自动从 Hub 列表中移除,只展示可达实例的内容。
在 Zone 中打印
Hub 中的 Echo 同样支持"打印"操作,点击后会将内容传递到 Zone 热敏打印台 进行打印。
Hub 功能依赖 Connect 配置。请先在 系统设置 → Connect 中添加其他实例的 URL。