构建用于消费流式数据的客户端
客户端设计
- 与过滤流端点建立 HTTPS 流式连接。
- 以异步方式向过滤流规则端点发送 POST 请求,在流中添加或删除规则。
- 处理低数据量——保持流式连接,检测 Post 对象和保活信号。
- 处理高数据量——使用异步流程将流接入与后续处理解耦,并确保客户端缓冲区定期刷新。
- 在客户端管理用量消耗的跟踪。
- 检测流中断,评估后自动重新连接到流。
连接到流式端点
消费数据
- 字段以任意顺序出现
- 意外或缺失的字段
- 未排序的 Post
- 重复的消息
- 任何时间通过流传来的新的任意消息类型
缓冲
- 确保你的客户端以足够快的速度读取流。通常不应在读取流的同时进行实际处理工作。应先读取流,再将处理交给其他线程/进程/数据存储异步完成。
- 确保你的数据中心具备足够的入站带宽,既能承载大规模的持续数据量,也能应对显著更大的峰值(例如为正常量的 5–10 倍)。对于过滤流,你端所需的流量和相应带宽完全取决于你的规则匹配到哪些 Posts。