异步信号接入

处理链路

项目使用 Golang 协程与 Channel 异步处理社交媒体消息、链上待确认交易线索、交易回执和异常事件。接入阶段负责把不同来源转换为统一事件,同时保留原始来源,便于重放与复盘。

建议事件字段

event_id、source、source_event_id、observed_at、chain_hint、payload_ref 和 trace_id。链提示属于上下文,不直接作为最终链路结论。

并发与背压

建议接入协程负责读取和解析,工作池负责后续处理。队列容量、工作协程数量和外部请求并发分别限制。队列已满时应明确暂停、降级或拒绝策略,并记录积压,避免无界启动协程。

断线和取消

连接断开后重新订阅时,区分重新出现的历史事件与新事件;退出通过 context 传播取消。只有 Channel 的拥有者负责关闭,避免接收端关闭仍在写入的通道。

验证场景

突发消息、畸形载荷、重复投递、断线重连、队列耗尽和应用关闭。检查是否出现任务丢失、无限等待或协程持续增长。