Skip to main content
长期运行的消费端需要恢复方案和稳定连接。调整并发或服务器设置前,先测量接收速率、处理速率与延迟。

控制处理范围

解码前按地址或程序筛选。仅需要哈希和计数时使用区块元数据。只有解码器支持对应切片时才启用数据切片。将低流量订阅合并到一个连接;测量确认存在竞争后,再拆分高流量程序。

限制工作量与内存

等待异步处理可控制并发,但不会让 CPU 密集任务自动并行。复杂解析应使用有限队列和 worker。明确队列满时的处理:暂停、采样可丢弃指标,或停止后补齐持久数据。监控队列长度与最旧的待处理 slot。

使用有限重试重连

先将快速入门中的辅助代码保存为同一目录的 stream.mts。以下示例使用相同的环境变量与依赖。 示例以退避和随机抖动重试元数据订阅,在八次中断后退出。认证失败应先修复,再启动。
reconnect.mts

显式补齐数据间隔

下游写入成功后再保存处理进度。重连时发送完整订阅,并使用可用 RPC 历史或新账户快照补齐缺失范围。只有端点确认支持回放及保留范围时才使用回放;不要假设可回放任意 slot。对回放更新去重。

根据测量调整

  • 从部署主机比较欧洲与美国端点;ICMP ping 不能单独代表数据流延迟。
  • 消息超过限制时先减少内容;再根据客户端版本设置接收上限,并预留内存。
  • 回复服务端 ping。传输层 keepalive 与订阅 ping 是不同机制。
  • 对重复断线、解码错误、队列增长、进度停滞和写入失败设置告警。
  • 使用实际下游数据库测试中断与恢复。

相关指南

身份验证

快速入门