Ech0Ech0
中文
功能指南

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。